Як створити резервну копію параметрів коду VS та списку встановлених розширень?


75

Я щойно двічі пройшов процес встановлення коду VS. Початкова установка швидка і безболісна (як і сам редактор), але мені довелося запам'ятати список розширень, які я встановив, і я швидко встановлюю нові.

За допомогою Sublime Text я просто скопіював файл налаштувань на інший ПК і міг автоматично встановити будь-які залежності робочого процесу, але який підхід із VS Code?

Чи можу я просто створити резервну копію файла налаштувань JSON чи подібного, щоб я міг легко створити своє робоче середовище (у комплекті з розширеннями)?

Відповіді:


60

Я відповів на це на головному сайті StackOverflow - вставленому нижче для контексту

Мені потрібно це зробити кілька разів - особливо при установці на іншу машину.

Залежно від вашої платформи, папка розширень розміщена на одному з наступних шляхів:

  • Windows: %USERPROFILE%\.vscode\extensions
  • Мак: ~/.vscode/extensions
  • Linux: ~/.vscode/extensions

Код VS шукає розширення в папці розширень .vscode/extensions. Залежно від вашої платформи він знаходиться:

  • Windows %USERPROFILE%\.vscode\extensions
  • Мак ~/.vscode/extensions
  • Linux ~/.vscode/extensions

Це повинно показати вам список розширень

Я також мав успіх, використовуючи розширення Visual Studio Code Sync Extension для синхронізації налаштувань до GitHub gist

EDIT: У останньому випуску VSCode (травень 2016 року) тепер можна вказати встановлене розширення в командному рядку

code --list-extensions

Settings Syncрозширення працювало як шарм, просто експортував мої налаштування з OS X в Linux Mint.
vikas027

7
Я не хочу синхронізувати! Я хочу зробити резервну копію! Ви не відповіли належним чином на початкове запитання.
JesseNewman19

10

Розширення налаштування синхронізації повинно зробити трюк, хоча UX є таким.

Він синхронізує ваші налаштування з GitHub Gist у форматі JSON. Вам доведеться створити маркер GitHub. Я пропоную зберегти маркерний код у назві файлу маркера, оскільки коли вам потрібно буде знову завантажити свої налаштування пізніше, навряд чи у вас буде цей код під рукою (принаймні, це було у моєму випадку).


Якщо ви знаєте, що вам знадобиться маркер GitHub для розширення налаштування синхронізації, ви можете отримати його з tokenключа, syncLocalSettings.jsonякий знаходиться у вашому профілі коду, у тій самій папці, що і в settings.json.
Rory O'Kane

3

Отже, як показано редагування головки дерева або відповідь MarkP, ви тепер можете перелічити всі встановлені розширення, щоб спосіб встановити цей список розширень:

code --list-extensions >> vs_code_extensions_list.txt

Передайте новостворений файл на машину, на яку потрібно встановити ці розширення. На цій машині ви б:

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

Потім буде проходити кожне розширення у цьому файлі та встановити розширення.

Якщо ви хочете отримати чисту інсталяцію (AKA видалить усі існуючі розширення на цій машині), ви можете запустити це перед тим, як встановити нові розширення (інакше ви видалите і ці нові розширення). Будьте уважні, оскільки це видалить усі розширення у коді VS:

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

Спробував, отримав це повідомлення про помилку: "xargs: Термін" xargs "не розпізнається як ім'я командлету, функції, файлу сценарію чи операційної програми." ?
Микола Петерсен

1
@NicholasPetersen Це для Linux. На windows:get-content c:\exportedlist.txt | % { code --install-extension $_ }
Джейсон Клемент

1

Ось розташування параметрів VSCode:

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

Здається, зберігаються лише модифіковані налаштування, що дуже приємно (тому ви не зациклюєтесь і не гріште з майбутніми версіями).

Ви також можете / snippets /, в тій же папці, що і налаштування.json.

І, звичайно, можна бігати code --list-extensions, як уже згадуються інші відповіді.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.