วิธีการส่งออกการตั้งค่า VSCode


226

เป็นไปได้อย่างไรที่จะส่งออกการตั้งค่าและรหัส Visual Studio ทั้งหมดและนำเข้าไปยังเครื่องอื่น


2
สำหรับการอ้างอิงรหัสมีโหมดพกพาเพื่อให้คุณสามารถย้ายโฟลเดอร์การติดตั้ง
Doruk Karınca

คำตอบ:


165

มีส่วนขยายสำหรับ Visual Studio Code ที่เรียกว่าการซิงค์การตั้งค่า https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync

มันซิงค์การตั้งค่าของคุณโดยส่วนสำคัญ (สรุปโดย GitHub) มันทำงานเหมือนกับส่วนขยาย Atom.io ที่เรียกว่า settings-sync


7
นี่เป็นการส่งออกหรือไม่ ฉันจะส่งออกเวิร์กโฟลว์การส่งออกเพื่อสร้างไฟล์หรือชุดของไฟล์ที่มีการตั้งค่าในบางไดเรกทอรี - ไม่ต้องพึ่งพาบริการบุคคลที่สามและการตั้งค่าพื้นฐาน
Éliette

1
แน่นอนคุณสามารถทำได้ แพคเกจภายนอกไม่จำเป็น แต่มันทำให้แพคเกจของคุณซิงค์ระหว่างอินสแตนซ์ VSC เพิ่มเติม (โดยอินสแตนซ์ที่ฉันหมายถึงการติดตั้งหลายครั้ง)
michalczukm

3
ส่วนขยายนั้นไม่ได้ผลสำหรับฉันเลย มันให้ "ไม่พบข้อผิดพลาด" เมื่อคุณพยายามนำเข้าการตั้งค่าไปยังคอมพิวเตอร์เครื่องอื่นและฉันทำตามคำแนะนำไปยังตัวอักษร ระวังถ้าคุณตัดสินใจใช้สิ่งนี้
dcp

1
@dcp นี้เกิดจากรหัส gist ไม่ถูกต้องคุณสามารถเปิดปัญหาเพื่อให้ผู้เขียนทราบ
Shan Khan

ฉันสามารถคัดลอกการตั้งค่าโดยไม่เรียกใช้รุ่นเก่าเพียงแค่มีการเข้าถึงดิสก์ที่ติดตั้งไว้หรือไม่
Kostanos

274

ด้วย VSCode เวอร์ชันปัจจุบัน ณ วันที่เขียนนี้ (1.22.1) คุณสามารถค้นหาการตั้งค่าของคุณได้

  • ~/.config/Code/User บน Linux (ในกรณีของฉัน, อนุพันธ์ของ Ubuntu)
  • C:\Users\username\AppData\Roaming\Code\User บน Windows 10
  • ~/Library/Application Support/Code/User/บน Mac OS X (ขอบคุณChristophe De Troyer )

ไฟล์ที่อยู่และsettings.json keybindings.jsonเพียงคัดลอกไปยังเครื่องเป้าหมาย

ส่วนขยายของคุณอยู่ใน

  • ~/.vscode/extensions บน Linux และ Mac OS X
  • C:\Users\username\.vscode\extensions บน Windows 10 (เช่นเดียวกับสถานที่เดียวกัน)

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


2
% APPDATA% \ รหัส% USERPROFILE% \ vscode \ ส่วนขยาย <-. ใช้เหล่านี้ใน Windows เพื่อให้คุณไม่ต้องพิมพ์ชื่อผู้ใช้ในด้านหลังเส้นทางที่มา
Mahn

@zerohedge ฉันคาดหวังว่าการตั้งค่าเฉพาะพื้นที่ทำงานอยู่ใน.workspaceไฟล์หรือใน.vscode/settings.json
Maarten Fabré

44

เพื่อลูกหลานโพสต์นี้กล่าวถึง

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

code --list-extensions

สำหรับ Mac คุณอาจจะชอบ:

"/Applications/Visual Studio Code.app//Contents/Resources/app/bin/code" --list-extensions  

ในการติดตั้งใช้งาน:

--install-extension <ext> //see 'code --help'

36

เช่นเดียวกับคำตอบของ Big Rich คุณสามารถทำสิ่งต่อไปนี้:

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

นี่จะแสดงรายการส่วนขยายของคุณด้วยคำสั่งเพื่อติดตั้งส่วนขยายดังนั้นคุณสามารถคัดลอกและวางผลลัพธ์ทั้งหมดลงในเครื่องอื่นของคุณ:

ตัวอย่าง:

code --install-extension EditorConfig.EditorConfig
code --install-extension aaron-bond.better-comments
code --install-extension christian-kohler.npm-intellisense
code --install-extension christian-kohler.path-intellisense
code --install-extension CoenraadS.bracket-pair-colorizer

นำมาจากคำตอบที่ได้รับที่นี่

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มรหัส VS ในเส้นทางของคุณก่อน สำหรับ mac คุณสามารถทำสิ่งต่อไปนี้:

  1. เรียกใช้ VS Code
  2. เปิด Command Palette (⇧⌘P) และพิมพ์ 'shell command' เพื่อค้นหาคำสั่ง Shell: ติดตั้ง 'code' ในคำสั่ง PATH

4

~/Library/Application\ Support/Code/Userตั้งค่าผู้ใช้ของคุณอยู่ใน

หากคุณไม่กังวลเกี่ยวกับการซิงค์และเป็นเพียงครั้งเดียวคุณสามารถคัดลอกไฟล์keybindings.jsonและsettings.jsonไปยังโฟลเดอร์ที่เกี่ยวข้องในเครื่องใหม่ของคุณ

นามสกุลของคุณอยู่ใน~/.vscodeโฟลเดอร์ ส่วนขยายส่วนใหญ่ไม่ได้ใช้การเชื่อมโยงดั้งเดิมและควรทำงานอย่างถูกต้องเมื่อคัดลอกไป คุณสามารถติดตั้งใหม่ได้ด้วยตนเอง


4

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

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

การใช้สคริปต์ซึ่ง Big Rich เขียนไว้ก่อนหน้านี้มีการเปลี่ยนแปลงอีกหนึ่งครั้งฉันสามารถซิงค์ส่วนขยายทั้งหมดโดยอัตโนมัติได้เกือบทั้งหมด

ต้นฉบับ

cat dart-extensions.txt | xargs -L 1 code --install-extension

และยังมีอีกวิธีหนึ่งในการทำให้กระบวนการนั้นเป็นแบบอัตโนมัติ ที่นี่คุณสามารถเพิ่มสคริปต์ซึ่งค้นหาส่วนขยาย VSCode แบบเรียลไทม์และแต่ละครั้งเมื่อคุณใช้ส่วนต่างระหว่างcode --list-extensionsคำสั่งและไฟล์. txtของ.dotfilesคุณคุณสามารถอัปเดตไฟล์ของคุณและผลักดันไปยัง repo ระยะไกลได้


1

ฉันได้สร้างสคริปต์ python สำหรับส่งออกการตั้งค่า vsc เป็นไฟล์ zip ไฟล์เดียว https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e

คุณสามารถอัปโหลดไฟล์ zip ไปยังที่จัดเก็บข้อมูลภายนอก

$ vsc-settings.py export
Exporting vsc settings:
created a temporary dump dir /tmp/tmpf88wo142
generating extensions list
copying /home/wonder/.config/Code/User/settings.json
copying /home/wonder/.config/Code/User/keybindings.json
copying /home/wonder/.config/Code/User/projects.json
copying /home/wonder/.config/Code/User/snippets
  adding: snippets/ (stored 0%)
  adding: snippets/go.json (deflated 56%)
  adding: projects.json (deflated 67%)
  adding: extensions.txt (deflated 40%)
  adding: keybindings.json (deflated 81%)
  adding: settings.json (deflated 59%)
VSC settings exported into /home/wonder/vsc-settings-2019-02-25-171337.zip

$ unzip -l /home/wonder/vsc-settings-2019-02-25-171337.zip
Archive:  /home/wonder/vsc-settings-2019-02-25-171337.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2019-02-25 17:13   snippets/
      942  2019-02-25 17:13   snippets/go.json
      519  2019-02-25 17:13   projects.json
      471  2019-02-25 17:13   extensions.txt
     2429  2019-02-25 17:13   keybindings.json
     2224  2019-02-25 17:13   settings.json
---------                     -------
     6585                     6 files

PS: คุณอาจใช้คำvsc-settings.py importสั่งย่อยสำหรับฉัน


1

ขอบคุณสำหรับ@michalczukm ,

ฉันได้ตั้งค่าปลั๊กอิน" การตั้งค่าการซิงค์ " บน VSCode เพื่อซิงค์การตั้งค่าบางอย่างกับ Gist

หากคุณต้องการใช้ "การตั้งค่าการซิงค์" คุณสามารถดูโพสต์นี

สำรองและซิงโครไนซ์การตั้งค่า VSCode ด้วย GitHub Gist | Mike F Robbins


0

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

https://github.com/microsoft/vscode/issues/2743#issuecomment-560116420


1
Built-in สำหรับชั่วขณะหนึ่งใน Insiders และมาตรฐานตอนนี้ code.visualstudio.com/docs/editor/settings-sync
ทำเครื่องหมาย

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