Як можна експортувати список розширень Visual Studio Code?


343

Мені потрібно надіслати всі встановлені розширення колегам. Як їх експортувати?

Здається, менеджер розширень нічого не робить ... Він не встановить жодне розширення.

Відповіді:


575

Автоматичний

Якщо ви з нетерпінням чекаєте легкого інструменту "єдине зупинення", який можна зробити для вас, я б запропонував вам переглянути розширення налаштування синхронізації .

Це дозволить

  1. Експорт вашої конфігурації та розширень
  2. Поділіться цим з колегами та колективами. Ви можете оновити конфігурацію. Їх налаштування автоматично оновлюються.

Посібник

  1. Переконайтеся, що у вас є найновіша версія коду Visual Studio. Якщо ви встановлюєте через портал компанії, у вас може бути не найновіша версія.

  2. На машині A

    Unix:

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

    Windows (PowerShell, наприклад, використовуючи вбудований термінал Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. Скопіюйте та вставте ехо-сигнал на машину 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командний рядок. Для отримання додаткової інформації відвідайте інтерфейс командного рядка (CLI) .


9
Чи може хтось надати зручну для Windows версію цієї команди? xargs, здається, унікальний для UNIX.
damanptyltd

12
@damanptyltd Якщо ви використовуєте GitHub, напевно, у вас Git Bash встановлений на вашому ноутбуці / ПК Windows. Ви можете використовувати команди Unix / Mac для цього - щоб я працював
Drenai

8
для всіх, хто думає, що їм потрібна версія Windows, зверніть увагу, ви повинні запустити це з командного рядка vscode, ви можете отримати це, натиснувши Ctrl + `, а потім просто вставити його!
Джаред

1
Я використовував команду Ctrl + `з --list-extensions вище, щоб отримати мої налаштування з мого Windows vscode, а потім застосував Ctrl +` для вставки коду --встановити результати в мій екземпляр vscode в Linux (понад RDP). Це просто спрацювало. Завантажили та встановили їх усі. Awesome
Дін

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 Code Settings Sync Extension для синхронізації налаштувань на GitHub gist.

В останньому випуску Visual Studio Code (травень 2016 року) тепер можна перелічити встановлені розширення в командному рядку:

code --list-extensions

6
Для мене (Linux, код версії 1.7.1) він не працює ... він просто запускає VS Code.
vanthome

@vanthome Я ніколи не пробував Linux, але я думаю, що це те саме: Спочатку у мене була та сама проблема, що і у вас, поки я не зрозумів, що утиліта командного рядка знаходиться фактично під binпапкою установки програми. Якщо ви подивитесь на його вміст, ви побачите, що він викликає головний виконуваний файл, але каже йому виконувати CLI.
Яннік Майне

1
FYI вам потрібно буде запустити команду Shell: Встановити команду 'code' в PATH 'з палітри команд (cmd / ctrl-shift-p) в коді VS Code, а потім запустити вищевказаний код у своєму терміналі, щоб дозволити цьому працювати.
Карлін

51

Я розробив розширення, яке буде синхронізувати всі налаштування коду Visual Studio у кількох екземплярах.

Ключові особливості

  1. Використовуйте маркер свого облікового запису github.
  2. Легко завантажувати та завантажувати одним клацанням миші.
  3. Зберігає всі налаштування та фрагменти файлів.
  4. Ключ завантаження: Shift + Alt + u
  5. Ключ завантаження: Shift + Alt + d
  6. Введіть синхронізацію, щоб переглянути всі параметри синхронізації

Синхронізація

  1. Файл налаштувань
  2. Файл клавіатури
  3. Запустити файл
  4. Папка з фрагментами
  5. Розширення VSCode

Детальне джерело документації

VSCode Sync ReadMe

Завантажте тут: Синхронізація параметрів коду VS


це автоматично встановлює синхронізовані розширення?
Рагавендра

Так! Спробуйте це і повідомте мені
Шань Хан

який виняток ви отримуєте в консолі розробника? відкрити випуск github у репо, і ми побачимо
Шань Хан

Гей, я використав ваше розширення, це чудово, але я не знаю, як поділитися своїм розширенням списку зі своїм другом.
vanduc1102

@ vanduc1102 - Перевірте це посилання: shanalikhan.github.io/2016/09/02/…
Шан Хан

28

Версія Windows (PowerShell) на відповідь @ Benny

Машина A:

У терміналі Visual Studio Code PowerShell:

code --list-extensions > extensions.list

Машина B:

  1. Скопіюйте розширення.list на апарат B

  2. У терміналі Visual Studio Code PowerShell:

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

1
Це тільки запускає нове вікно коду з вкладкою "Привітання" для мене.
Гендальф Сакс

1
Ця відповідь для мене прекрасно працює - у мене взагалі не було проблем із встановленням всього встановленого.
SE, на жаль, завдає удару знову,

Це моя краща відповідь, оскільки вона не покладається на xargs (порівняно з більш високою оцінкою). Тепер якби тільки "код" був визнаний командою ... зітхніть (це завжди щось)
GG2,

Це чудово працювало в створенні мого .list-файлу та показує мені, які розширення в даний час я гойдаю. Я просто потребував списку як орієнтир. Не потрібно було робити процес копіювання. Дуже дякую.
klewis

Простий, малий зусилля і ефективний. Це має бути відповіддю.
Принцеса Інна

21

Я використовував таку команду, щоб скопіювати свої розширення з vscode на інсайдери vscode:

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

Аргумент -L 1дозволяє виконувати команду code-insiders --install-extensionодин раз для кожного вхідного рядка, згенерованогоcode --list-extensions


Це дуже корисно для init.shмого dotfiles repo. Я спочатку встановлюю розширення з файлу, а потім записую всі встановлені в даний час розширення у файл. Єдиним недоліком є ​​те, що мені доведеться видалити файл, якщо я хочу видалити розширення, але він повинен працювати, якщо я додам його.
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}з РОЗШИРЕННЯ Tou перерахованих

Для інсайдера vscode: code-insiders --install-extension {ext1} ...

Якщо вони скопіюють / вставлять його у термінальний рядок командного рядка vscode, вони встановлять спільні розширення

Детальніше про управління командним рядком-розширенням


3

Існує розширення диспетчера розширень, яке може допомогти. Здається, дозволяє встановити набір розширень, зазначених у 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 Code 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речі, згадані в інших відповідях, але додайте трохи помилок, щоб зробити їх можливим вставити в масив 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 команди:

bash my_vscode_extensions.sh

0

Для тих, хто цікавиться, як скопіювати розширення з коду Visual Studio на інсайдери Visual Studio Code, скористайтеся цією модифікацією відповіді Бенні:

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

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