Как вы можете экспортировать список расширений кода Visual Studio?


344

Мне нужно отправить все мои установленные расширения моим коллегам. Как я могу их экспортировать?

Менеджер расширений, похоже, ничего не делает ... Он не устанавливает никаких расширений.

Ответы:


577

автоматическая

Если вы рассчитываете на простой универсальный инструмент, который сделает это за вас, я бы посоветовал вам взглянуть на расширение « Синхронизация настроек» .

Это позволит

  1. Экспорт вашей конфигурации и расширений
  2. Поделитесь этим с коллегами и командами. Вы можете обновить конфигурацию. Их настройки будут автоматически обновлены.

Руководство

  1. Убедитесь, что у вас самая последняя версия кода Visual Studio. Если вы устанавливаете через портал компании, у вас может не быть самой последней версии.

  2. На машине А

    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, чтобы вытащить мои настройки из моего 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 (май 2016 г.) теперь можно перечислить установленные расширения в командной строке:

code --list-extensions

6
Для меня (Linux, код версии 1.7.1) это не работает ... он просто запускает VS Code.
vanthome

@vanthome Я никогда не пробовал на Linux, но думаю, что это то же самое: у меня сначала была та же проблема, что и у вас, пока я не понял, что утилита командной строки фактически находится в binпапке установки приложения. Если вы посмотрите на его содержимое, то увидите, что он вызывает основной исполняемый файл, но вместо этого говорит ему выполнить CLI.
Янник

1
К вашему сведению, вам нужно запустить «Команду оболочки: установить команду« code »в PATH» из палитры команд (cmd / ctrl-shift-p) в VS Code, а затем запустить приведенный выше код на своем терминале, чтобы это работало.
Карлин

51

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

Ключевая особенность

  1. Используйте свой токен GitHub.
  2. Легко загружать и скачивать в один клик.
  3. Сохраняет все настройки и файлы фрагментов.
  4. Загрузить ключ: Shift + Alt + U
  5. Скачать ключ: Shift + Alt + d
  6. Введите Sync In, чтобы просмотреть все параметры синхронизации.

Это синхронизация

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

Детальная документация Источник

VSCode Sync ReadMe

Скачать здесь: VS Code Sync Настройки


это автоматически устанавливает синхронизированные расширения?
Рагхавендра

Да! Попробуйте и дайте мне знать
Шан Хан

какое исключение вы получаете в консоли разработчика? откройте вопрос github в репо, и мы увидим
Shan Khan

Эй, я использовал ваше расширение, это здорово, но я не знаю, как поделиться своим списком расширений с моим другом.
vanduc1102

@ vanduc1102 - Проверьте эту ссылку: shanalikhan.github.io/2016/09/02/…
Шан Хан

29

Windows (PowerShell) версия ответа @ Бенни

Машина А:

В терминале Visual Studio PowerShell:

code --list-extensions > extensions.list

Машина Б:

  1. Скопировать extension.list на компьютер B

  2. В терминале Visual Studio PowerShell:

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

1
Это только запускает новое окно кода с вкладкой Welcome для меня.
Гэндальф Сакс

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. Сначала я устанавливаю расширения из файла, а затем записываю все установленные на данный момент расширения в файл. Единственным недостатком является то, что мне придется удалить файл, если я хочу удалить расширение, но оно должно работать, если я его добавлю.
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

IN 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файл должен быть скопирован со старого компьютера на новый.
Йорн Дженсен

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 commande, они установят общие расширения

Больше информации о командной строке-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
строковым,

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 Code из терминала здесь - это мерзавец, для кого-то эта помощь может оказаться полезной.

Как экспортировать расширения VS Code из терминала

Примечание: только 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 --list-extensions | xargs -L 1 echo code-insiders --install-extension

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.