Làm cách nào để sao lưu cài đặt Mã VS của tôi và danh sách các tiện ích mở rộng đã cài đặt?


75

Tôi vừa mới trải qua quá trình cài đặt Mã VS hai lần. Cài đặt ban đầu rất nhanh và không gây đau đớn (như chính trình soạn thảo), nhưng tôi đã phải nhớ danh sách các tiện ích mở rộng tôi đã cài đặt và đang cài đặt những tiện ích mới với tốc độ cao.

Với Sublime Text, tôi chỉ cần sao chép tệp cài đặt sang PC khác và có thể tự động cài đặt bất kỳ phụ thuộc quy trình công việc nào theo cách đó, nhưng cách tiếp cận với VS Code là gì?

Tôi có thể sao lưu tệp 'cài đặt' JSON hoặc tương tự để tôi có thể dễ dàng tạo lại môi trường làm việc của mình (hoàn thành với các tiện ích mở rộng) không?

Câu trả lời:


60

Tôi đã gửi câu trả lời cho vấn đề này trên trang web StackOverflow chính - được dán bên dưới cho ngữ cảnh

Tôi cần phải tự làm điều này một vài lần - đặc biệt là khi cài đặt trên máy khác.

Tùy thuộc vào nền tảng của bạn, thư mục tiện ích mở rộng của bạn nằm trên một trong các đường dẫn sau:

  • Các cửa sổ: %USERPROFILE%\.vscode\extensions
  • Mac: ~/.vscode/extensions
  • Linux: ~/.vscode/extensions

Mã VS tìm kiếm các phần mở rộng trong thư mục tiện ích mở rộng của bạn .vscode/extensions. Tùy thuộc vào nền tảng của bạn, nó được đặt:

  • các cửa sổ %USERPROFILE%\.vscode\extensions
  • Mac ~/.vscode/extensions
  • Linux ~/.vscode/extensions

Điều đó sẽ cho bạn thấy một danh sách các phần mở rộng

Tôi cũng đã thành công khi sử dụng Tiện ích mở rộng đồng bộ hóa cài đặt mã Visual Studio để đồng bộ hóa cài đặt với ý chính của GitHub

EDIT: Trong bản phát hành mới nhất của VSCode (tháng 5 năm 2016), giờ đây có thể liệt kê phần mở rộng đã cài đặt trong dòng lệnh

code --list-extensions

Settings Synctiện ích mở rộng hoạt động như bùa mê, chỉ cần xuất các cài đặt của tôi từ OS X sang Linux Mint.
vikas027

7
Tôi không muốn đồng bộ hóa! Tôi muốn sao lưu! Bạn đã không trả lời đúng câu hỏi ban đầu.
JesseNewman19

10

Các phần mở rộng Cài đặt Sync nên làm các trick, mặc dù UX là cái như vậy.

Nó đồng bộ hóa các cài đặt của bạn với GitHub Gist ở định dạng JSON. Bạn sẽ phải tạo mã thông báo GitHub. Tôi khuyên bạn nên lưu mã mã thông báo trong tên tệp mã thông báo, vì khi bạn cần tải xuống lại cài đặt của mình sau đó, không chắc bạn sẽ có mã tiện dụng (ít nhất, đó là trường hợp của tôi).


Nếu bạn biết bạn sẽ cần mã thông báo GitHub của mình cho tiện ích mở rộng Cài đặt đồng bộ hóa, bạn có thể lấy mã này từ tokenkhóa trong syncLocalSettings.jsonhồ sơ Mã của bạn, trong cùng thư mục với settings.json.
Rory O'Kane

3

Vì vậy, khi chỉnh sửa của Treehead hoặc câu trả lời của MarkP cho thấy bây giờ bạn có thể liệt kê tất cả các tiện ích mở rộng được cài đặt để cách cài đặt danh sách tiện ích mở rộng đó sẽ là:

code --list-extensions >> vs_code_extensions_list.txt

Chuyển tệp vừa tạo vào máy mà bạn muốn cài đặt các tiện ích mở rộng đó. Trên máy đó, bạn sẽ:

cat vs_code_extensions_list.txt | xargs -n 1 code --install-extension

Sau đó sẽ đi qua từng phần mở rộng trong tệp đó và cài đặt phần mở rộng.

Nếu bạn muốn cài đặt sạch (AKA xóa tất cả các tiện ích mở rộng hiện có trên máy đó), bạn có thể chạy cài đặt này trước khi cài đặt các tiện ích mở rộng mới (nếu không bạn cũng sẽ xóa các tiện ích mở rộng mới đó). HÃY CẨN THẬN vì điều này sẽ xóa tất cả các tiện ích mở rộng trong Mã VS:

code --list-extensions | xargs -n 1 code --uninstall-extension

Đã thử, nhận được thông báo lỗi này: "xargs: Thuật ngữ 'xargs' không được nhận dạng là tên của một lệnh ghép ngắn, hàm, tệp tập lệnh hoặc chương trình có thể hoạt động." ?
Nicholas Petersen

1
@NicholasPeteren Đó là cho Linux. Trên cửa sổ:get-content c:\exportedlist.txt | % { code --install-extension $_ }
Jason Clement

1

Đây là vị trí của cài đặt VSCode:

Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

Nó dường như chỉ lưu trữ các cài đặt đã được sửa đổi , điều này thực sự tốt (vì vậy bạn không cài đặt hoặc vặn vít với các phiên bản trong tương lai).

Bạn cũng có thể muốn / đoạn trích /, trong cùng thư mục với settings.json.

Và, tất nhiên, bạn có thể chạy code --list-extensions, như các câu trả lời khác đã đề cập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.