คุณจะส่งออกรายการส่วนขยายของรหัส Visual Studio ได้อย่างไร


343

ฉันต้องส่งส่วนขยายที่ติดตั้งทั้งหมดของฉันให้กับเพื่อนร่วมงานของฉัน ฉันจะส่งออกได้อย่างไร

ดูเหมือนว่าผู้จัดการส่วนขยายจะไม่ทำอะไรเลย ... มันจะไม่ติดตั้งส่วนขยายใด ๆ

คำตอบ:


575

อัตโนมัติ

หากคุณรอคอยที่จะเป็นเครื่องมือแบบเบ็ดเสร็จที่ง่ายต่อการทำเพื่อคุณฉันขอแนะนำให้คุณดูที่ส่วนขยายการตั้งค่าการซิงค์

มันจะช่วยให้

  1. ส่งออกการกำหนดค่าและส่วนขยายของคุณ
  2. แชร์กับเพื่อนร่วมงานและทีม คุณสามารถปรับปรุงการกำหนดค่า การตั้งค่าของพวกเขาจะอัปเดตอัตโนมัติ

คู่มือ

  1. ตรวจสอบให้แน่ใจว่าคุณมีรหัส Visual Studio รุ่นล่าสุด หากคุณติดตั้งผ่านพอร์ทัล บริษัท คุณอาจไม่มีเวอร์ชันล่าสุด

  2. บนเครื่อง A

    Unix:

    code --list-extensions | xargs -L 1 echo code --install-extension
    

    Windows (PowerShell เช่นการใช้ Terminal รวมของ Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. คัดลอกและวางเอาต์พุต echo ไปยังเครื่อง B

    ตัวอย่างผลลัพธ์

    code --install-extension Angular.ng-template
    code --install-extension DSKWRK.vscode-generate-getter-setter
    code --install-extension EditorConfig.EditorConfig
    code --install-extension HookyQR.beautify
    

โปรดตรวจสอบให้แน่ใจว่าคุณได้codeติดตั้งบรรทัดคำสั่งแล้ว สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชมบรรทัดคำสั่ง Interface (CLI)


9
ใครสามารถให้คำสั่งนี้รุ่นเป็นมิตรกับ Windows? xargs ดูเหมือนจะไม่ซ้ำกับ UNIX
damanptyltd

12
@damanptyltd หากคุณใช้ GitHub คุณอาจติดตั้ง Git Bash ในแล็ปท็อป Windows / pc ของคุณ คุณสามารถใช้คำสั่ง Unix / Mac ได้ - นั่นเป็นวิธีที่ฉันใช้งานได้
Drenai

8
สำหรับใครที่คิดว่าพวกเขาต้องการรุ่น windows โปรดทราบว่าคุณควรจะเรียกใช้จากบรรทัดคำสั่ง vscode คุณสามารถรับมันได้โดยกดปุ่ม Ctrl + `จากนั้นเพียงแค่วางมันลง!
Jared

1
ฉันใช้ Ctrl + `พร้อมกับ - รายการคำสั่งส่วนขยายด้านบนเพื่อทำให้การตั้งค่าของฉันออกจาก vscode windows ของฉันแล้วใช้ Ctrl +` เพื่อวางรหัส - ติดตั้งผลลัพธ์ลงในอินสแตนซ์ vscode ของฉันบน Linux (มากกว่า RDP) มันใช้งานได้จริง ดาวน์โหลดและติดตั้งทั้งหมด น่ากลัว
คณบดี

5
สิ่งนี้ควรทำงานภายใต้ Windows PowerShell: code --list-extensions | % { "code --install-extension $_" }(ฉันแก้ไขคำตอบนี้ด้วย)
powerzone3000

196

ฉันต้องทำสิ่งนี้ด้วยตัวเองสองสามครั้ง - โดยเฉพาะเมื่อติดตั้งบนเครื่องอื่น

คำถามทั่วไปจะให้ตำแหน่งของโฟลเดอร์ของคุณ

Visual Studio Code ค้นหาส่วนขยายภายใต้โฟลเดอร์. vscode / extensions ขึ้นอยู่กับแพลตฟอร์มของคุณ:

Windows %USERPROFILE%\.vscode\extensions
Mac ~/.vscode/extensions
Linux ~/.vscode/extensions

ควรแสดงรายการของส่วนขยาย

ฉันยังประสบความสำเร็จในการใช้ส่วนขยายการซิงค์การตั้งค่ารหัส Visual Studioเพื่อซิงค์การตั้งค่ากับ GitHub สรุปสาระสำคัญ

ใน Visual Studio Code รุ่นล่าสุด (พฤษภาคม 2016) ตอนนี้เป็นไปได้ที่จะแสดงรายการส่วนขยายที่ติดตั้งบนบรรทัดคำสั่ง:

code --list-extensions

6
สำหรับฉัน (ลินุกซ์, รหัสรุ่น 1.7.1) มันไม่ทำงาน ... มันเพิ่งเริ่มต้น VS Code
vanthome

@vanome ฉันไม่เคยลองบน Linux แต่ฉันคิดว่ามันเหมือนกัน: ฉันมีปัญหาเดียวกันกับที่คุณมีก่อนจนกว่าฉันจะรู้ว่าอรรถประโยชน์ของบรรทัดคำสั่งนั้นเป็นจริงภายใต้binโฟลเดอร์ของการติดตั้งแอปพลิเคชัน ถ้าคุณดูเนื้อหาคุณจะเห็นมันเรียกมันว่า executable main แต่บอกให้มันรัน CLI แทน
Yannick Meine

1
FYI คุณจะต้องเรียกใช้ 'คำสั่งเชลล์: ติดตั้ง' รหัส 'คำสั่งใน PATH' จากพาเล็ตคำสั่ง (cmd / ctrl-shift-p) ภายในรหัส VS จากนั้นเรียกใช้รหัสด้านบนในเทอร์มินัลของคุณเพื่อให้สิ่งนี้ทำงานได้
Carlin

51

ฉันได้พัฒนาส่วนขยายซึ่งจะซิงค์การตั้งค่ารหัส Visual Studio ทั้งหมดของคุณข้ามหลายอินสแตนซ์

คุณสมบัติหลัก

  1. ใช้โทเค็นบัญชี GitHub ของคุณ
  2. ง่ายต่อการอัพโหลดและดาวน์โหลดในคลิกเดียว
  3. บันทึกการตั้งค่าและไฟล์ตัวอย่างทั้งหมด
  4. อัปโหลดรหัส: Shift + Alt + u
  5. รหัสดาวน์โหลด: Shift + Alt + d
  6. พิมพ์ Sync เพื่อดูตัวเลือกการซิงค์ทั้งหมด

มันซิงค์

  1. ไฟล์การตั้งค่า
  2. ไฟล์ปุ่มลัด
  3. เปิดไฟล์
  4. โฟลเดอร์ตัวอย่าง
  5. ส่วนขยาย VSCode

แหล่งเอกสารรายละเอียด

VSCode Sync ReadMe

ดาวน์โหลดได้ที่นี่: VS Code Settings Sync


สิ่งนี้จะติดตั้งส่วนขยายที่ซิงค์โดยอัตโนมัติหรือไม่
Raghavendra

ใช่ ลองสิ่งนั้นและแจ้งให้เราทราบ
Shan Khan

คุณได้รับข้อยกเว้นอะไรบ้างในคอนโซลนักพัฒนาซอฟต์แวร์ เปิดปัญหา GitHub ในธุรกรรมซื้อคืนและเราจะเห็น
Shan Khan

สวัสดีฉันใช้ส่วนขยายของคุณมันยอดเยี่ยม แต่ฉันไม่รู้วิธีแบ่งปันรายการส่วนขยายของฉันกับเพื่อน
vanduc1102

@ vanduc1102 - ตรวจสอบลิงค์นี้: shanalikhan.github.io/2016/09/02/…
Shan Khan

28

คำตอบของ @ Benny เวอร์ชัน Windows (PowerShell)

เครื่อง A:

ในเทอร์มินัล PowerShell รหัส Visual Studio:

code --list-extensions > extensions.list

เครื่อง B:

  1. คัดลอก extension.list ไปยังเครื่อง B

  2. ในเทอร์มินัล PowerShell รหัส Visual Studio:

    cat extensions.list |% { code --install-extension $_}
    

1
นี่เพิ่งเปิดหน้าต่างรหัสใหม่ด้วยแท็บยินดีต้อนรับสำหรับฉัน
Gandalf Saxe

1
คำตอบนี้ใช้ได้อย่างสมบูรณ์แบบสำหรับฉัน - ฉันไม่มีปัญหาเลยในการติดตั้งทุกอย่าง
SE Strikes อีกครั้งน่าเสียดายที่

นี่คือคำตอบที่ฉันต้องการเพราะมันไม่ได้พึ่งพา xargs (เทียบกับคำตอบที่ได้คะแนนสูงกว่า) ตอนนี้ถ้ามีการรับรู้เพียง "รหัส" เป็นคำสั่ง ... ถอนหายใจ (มันเป็นบางสิ่งบางอย่างเสมอไป)
GG2

สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบในการสร้างไฟล์. list ของฉันและแสดงให้ฉันเห็นว่าส่วนขยายใดที่ฉันมีอยู่ในขณะนี้ ฉันแค่ต้องการรายการอ้างอิง ไม่จำเป็นต้องทำกระบวนการคัดลอก ขอบคุณมาก.
klewis

ง่ายความพยายามต่ำและมีประสิทธิภาพ นี่ควรเป็นคำตอบ
Princess Innah

21

ฉันใช้คำสั่งต่อไปนี้เพื่อคัดลอกส่วนขยายของฉันจาก vscode ไปยัง vscode ภายใน:

code --list-extensions | xargs -L 1 code-insiders --install-extension

อาร์กิวเมนต์-L 1ช่วยให้เราสามารถรันคำสั่งcode-insiders --install-extensionหนึ่งครั้งสำหรับแต่ละบรรทัดอินพุตที่สร้างโดยcode --list-extensions


สิ่งนี้มีประโยชน์มากสำหรับinit.shrepo ใน dotfiles ของฉัน ฉันติดตั้งส่วนขยายจากไฟล์ก่อนจากนั้นจึงเขียนนามสกุลที่ติดตั้งไว้ทั้งหมดลงในไฟล์ ข้อเสียอย่างเดียวคือฉันจะต้องลบไฟล์ถ้าฉันต้องการลบส่วนขยาย แต่มันควรจะทำงานถ้าฉันเพิ่มหนึ่ง
ThaJay

11

สร้างคำสั่ง windows เพื่อติดตั้งส่วนขยาย

for /F "tokens=*" %i in ('code --list-extensions')
   do @echo call code --install-extension %i >> install.cmd

9

สำหรับ Linux

ใน OLD_MACHINE

code --list-extensions > vscode-extensions.list

ใน NEW_MACHINE

cat vscode-extensions.list | xargs -L 1 code --install-extension

cat: vscode-extensions.list: No such file or directory
vsync

ดูเหมือนว่าคุณสามารถปรับปรุงคำตอบของคุณได้โดยระบุว่าvscode-extensions.listต้องคัดลอกไฟล์จากเครื่องเก่าไปยังเครื่องใหม่
Jørn Jensen

7

เปิดคอนโซล VScode และเขียน:

code --list-extensions(หรือcode-insiders --list-extensionsถ้าติดตั้ง vscode ภายใน)

จากนั้นแชร์บรรทัดรับคำสั่งกับเพื่อนร่วมงาน:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}แทนที่{ext1},, {ext2}... , {extN}พร้อมกับ extention tou ที่ระบุไว้

สำหรับ vscode ภายใน: code-insiders --install-extension {ext1} ...

หากพวกเขาคัดลอก / วางใน terminal line vscode commande พวกเขาจะติดตั้งส่วนขยายที่ใช้ร่วมกัน

ข้อมูลเพิ่มเติมเกี่ยวกับcommand-line-extension-management


3

มีส่วนขยาย Extension Managerที่อาจช่วยได้ settings.jsonมันดูเหมือนว่าจะอนุญาตให้มีการติดตั้งชุดของส่วนขยายที่ระบุไว้ใน


ฉันพยายามมัน แต่ปลั๊กอินที่จะไม่ติดตั้ง jshint ที่ฉันพยายามที่จะเพิ่มไปยังแฟ้มการตั้งค่าของฉัน ...
แอนดรู


3

ส่วนขยายการถ่ายโอนข้อมูล:

code --list-extensions > extensions.txt

ติดตั้งส่วนขยายด้วย bash (Linux, OSX และ WSL):

cat extensions.txt | xargs code --list-extensions {}

ติดตั้งส่วนขยายบน Windows ด้วย PowerShell:

cat extensions.txt |% { code --install-extension $_}

1
น่าเศร้าที่นี่ไม่ได้ มันใช้--list-extensionsซึ่งไม่ได้ติดตั้งดังนั้นมันควรจะเป็นบรรทัดบางอย่าง--install-extensionแต่เมื่อเปลี่ยนเป็นว่ามันยังใช้งานไม่ได้
atwright147

3

https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions

วิธีที่ดีกว่าในการแบ่งปันรายการส่วนขยายคือการสร้างชุดส่วนขยายตามพื้นที่ทำงานสำหรับเพื่อนร่วมงานของคุณ

หลังจากสร้างรายการส่วนขยายผ่านcode --list-extensions | xargs -L 1 echo code --install-extension(ตรวจสอบ$PATHรายการรหัส Visual Studio ของคุณC:\Program Files\Microsoft VS Code\bin\ก่อนเรียกใช้คำสั่งรหัส)

เรียกใช้Extensions: Configure Recommended Extensions (Workspace Folder)คำสั่ง Visual Studio Code ( Ctrl+ Shift+ P) และใส่ส่วนขยายลงในที่สร้าง.vscode/extensions.json:

{
    "recommendations": [
        "eg2.tslint",
        "dbaeumer.vscode-eslint",
        "msjsdiag.debugger-for-chrome"
    ]
}

2

ฉันเปิดโฟลเดอร์นามสกุลรหัส Visual Studio และดำเนินการ:

find * -maxdepth 2 -name "package.json" | xargs grep "name"

ที่ให้รายการที่คุณสามารถแยกชื่อส่วนขยาย


1

หากคุณต้องการแชร์การกำหนดค่าส่วนขยายของเวิร์กสเปซทั่วทั้งทีมคุณควรตรวจสอบคุณลักษณะส่วนขยายที่แนะนำของ VSCode

Configure Recommended Extensions (Workspace Folder)เพื่อสร้างไฟล์นี้เปิดคำสั่งพาเลท> จากตรงนั้นหากคุณต้องการได้รับส่วนขยายปัจจุบันทั้งหมดของคุณและใส่ไว้ในที่นี่คุณสามารถใช้--list-extensionsสิ่งที่กล่าวถึงในคำตอบอื่น ๆ แต่เพิ่ม awk บางอย่างเพื่อให้สามารถวางลงในอาร์เรย์ json (คุณสามารถเพิ่มมากขึ้นหรือน้อยลงด้วย นี่เป็นตัวอย่างที่รวดเร็ว):

code --list-extensions | awk '{ print "\""$0"\"\,"}'

ข้อดีของวิธีนี้คือสามารถตรวจสอบการกำหนดค่าเวิร์กสเปซทั้งทีมในการควบคุมซอร์ส เมื่อไฟล์นี้ปรากฏในโครงการเมื่อเปิดโครงการ VSCode จะแจ้งให้ผู้ใช้ทราบว่ามีส่วนขยายที่แนะนำให้ติดตั้ง (หากยังไม่มีพวกเขา) และสามารถติดตั้งได้ทั้งหมดด้วยการกดปุ่มเพียงครั้งเดียว


1
  1. code --list-extensions > list

  2. sed -i 's/.*/\"&\",/' list

  3. คัดลอกเนื้อหาของไฟล์listและเพิ่มไว้.vscode/extensions.json ใน"recommendations" ส่วน

  4. หากextensions.jsonไม่มีอยู่ให้สร้างไฟล์ที่มีเนื้อหาต่อไปนี้

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. แชร์extensions.jsonไฟล์และขอให้ผู้ใช้รายอื่นเพิ่มใน.vscodeโฟลเดอร์ vscode จะแจ้งให้ติดตั้งส่วนขยาย

1

วิธีส่งออกส่วนขยายรหัส VS ของคุณจากเทอร์มินัลนี่คือคอมไพล์ซึ่งอาจเป็นความช่วยเหลือสำหรับใครบางคน

วิธีส่งออกส่วนขยายรหัส VS ของคุณจากเทอร์มินัล

หมายเหตุ: ระบบที่เหมือน Unixเท่านั้น

1) ส่งออกส่วนขยายของคุณไปยังไฟล์เชลล์:

code --list-extensions | sed -e 's/^/code --install-extension /' > my_vscode_extensions.sh

2) ตรวจสอบไฟล์ติดตั้งส่วนขยายของคุณ:

less my_vscode_extesions.sh

ติดตั้งส่วนขยายของคุณ (ตัวเลือก)

การทำงานของคุณmy_vscode_extensions.shโดยใช้ทุบตีคำสั่ง:

bash my_vscode_extensions.sh

0

สำหรับผู้ที่สงสัยว่าจะคัดลอกส่วนขยายของคุณจาก Visual Studio Code ไปยังบุคคลภายในรหัส Studio Visual ให้ใช้การแก้ไขคำตอบของ Benny นี้:

code --list-extensions | xargs -L 1 echo code-insiders --install-extension

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.