Jak możesz wyeksportować listę rozszerzeń Visual Studio Code?

343

Muszę wysłać wszystkie zainstalowane rozszerzenia do moich kolegów. Jak mogę je wyeksportować?

Menedżer rozszerzeń wydaje się nic nie robić ... Nie instaluje żadnego rozszerzenia.

Andrzej
źródło

Odpowiedzi:

575

Automatyczny

Jeśli nie możesz się doczekać łatwego narzędzia do zrobienia tego za Ciebie, proponuję zajrzeć do rozszerzenia Ustawienia synchronizacji .

Pozwoli

  1. Eksportuj swoją konfigurację i rozszerzenia
  2. Udostępnij to współpracownikom i zespołom. Możesz zaktualizować konfigurację. Ich ustawienia zostaną automatycznie zaktualizowane.

podręcznik

  1. Upewnij się, że masz najnowszą wersję programu Visual Studio Code. Jeśli instalujesz za pośrednictwem portalu firmy, być może nie masz najnowszej wersji.

  2. Na maszynie A

    Unix:

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

    Windows (PowerShell, np. Przy użyciu zintegrowanego terminala Visual Studio Code):

    code --list-extensions | % { "code --install-extension $_" }
    
  3. Skopiuj i wklej wyjście echa na maszynę B

    Próbka wyjściowa

    code --install-extension Angular.ng-template
    code --install-extension DSKWRK.vscode-generate-getter-setter
    code --install-extension EditorConfig.EditorConfig
    code --install-extension HookyQR.beautify
    

Upewnij się, że masz codezainstalowany wiersz poleceń. Aby uzyskać więcej informacji, odwiedź Interfejs wiersza poleceń (CLI) .

Benny
źródło
9
Czy ktoś może dostarczyć przyjazną dla systemu Windows wersję tego polecenia? xargs wydaje się być unikalny dla UNIX.
damanptyltd
11
@damanptyltd Jeśli używasz GitHub, prawdopodobnie masz Git Bash zainstalowany na swoim laptopie / komputerze z systemem Windows. Możesz używać poleceń Unix / Mac w tym - jak to działało
Drenai
8
dla każdego, kto myśli, że potrzebuje wersji systemu Windows, pamiętaj, że powinieneś uruchomić to z wiersza poleceń vscode, możesz go uzyskać, naciskając Ctrl + `, a następnie wklej go!
Jared
1
Użyłem Ctrl + `z poleceniem --list-extensions powyżej, aby usunąć moje ustawienia z mojego systemu vscode, a następnie użyłem Ctrl +` do wklejenia kodu - zainstaluj wyniki do mojej instancji vscode w systemie Linux (przez RDP). Po prostu zadziałało. Pobrałem i zainstalowałem je wszystkie. Niesamowite
Dean
5
Powinno to działać pod Windows PowerShell: code --list-extensions | % { "code --install-extension $_" }(ja również to
zmieniłem
196

Musiałem to zrobić sam kilka razy - zwłaszcza podczas instalacji na innym komputerze.

Częste pytania podadzą lokalizację twojego folderu

Visual Studio Code szuka rozszerzeń w folderze rozszerzeń .vscode / extensions. W zależności od platformy znajduje się:

Windows %USERPROFILE%\.vscode\extensions
Mac ~/.vscode/extensions
Linux ~/.vscode/extensions

To powinno pokazać listę rozszerzeń.

Miałem również sukces, używając rozszerzenia Visual Studio Code Settings Sync Extension do synchronizacji ustawień z GitHub gist.

W najnowszej wersji programu Visual Studio Code (maj 2016 r.) Można teraz wyświetlić listę zainstalowanych rozszerzeń w wierszu polecenia:

code --list-extensions
MarkP
źródło
6
Dla mnie (linux, kod Wersja 1.7.1) to nie działa ... po prostu uruchamia VS Code.
vanthome
@vanthome Nigdy nie próbowałem na Linuksie, ale myślę, że to jest to samo: najpierw miałem ten sam problem, który miałeś, dopóki nie zdałem sobie sprawy, że narzędzie wiersza polecenia faktycznie znajduje się w binfolderze instalacji aplikacji. Jeśli spojrzysz na jego zawartość, zobaczysz, że wywołuje główny plik wykonywalny, ale nakazuje mu zamiast tego wykonanie CLI.
Yannick Meine,
1
Do Twojej wiadomości musisz uruchomić polecenie Shell: Zainstaluj polecenie „code” w PATH ”z palety poleceń (cmd / ctrl-shift-p) w VS Code, a następnie uruchom powyższy kod w swoim terminalu, aby to zadziałało.
Carlin,
51

Opracowałem rozszerzenie, które zsynchronizuje wszystkie ustawienia kodu Visual Studio w wielu instancjach.

Kluczowe cechy

  1. Użyj tokena konta github.
  2. Łatwe przesyłanie i pobieranie jednym kliknięciem.
  3. Zapisuje wszystkie pliki ustawień i fragmentów.
  4. Klawisz przesyłania: Shift + Alt + u
  5. Klawisz pobierania: Shift + Alt + d
  6. Wpisz Sync, aby wyświetlić wszystkie opcje synchronizacji

Synchronizuje

  1. Plik ustawień
  2. Plik kluczowania
  3. Uruchom plik
  4. Folder Snippets
  5. Rozszerzenia VSCode

Szczegółowa dokumentacja Źródło

VSCode Sync ReadMe

Pobierz tutaj: VS Code Settings Sync

Shan Khan
źródło
czy to automatycznie instaluje zsynchronizowane rozszerzenia?
Raghavendra
Tak! Spróbuj i daj mi znać
Shan Khan,
jaki wyjątek otrzymujesz w konsoli programisty? otwórz problem github w repozytorium, a zobaczymy
Shan Khan
Hej, użyłem twojego rozszerzenia, jest świetne, ale nie wiem, jak udostępnić moją listę rozszerzeń mojemu przyjacielowi.
vanduc1102,
@ vanduc1102 - Sprawdź ten link: shanalikhan.github.io/2016/09/02/…
Shan Khan
28

Wersja Windows (PowerShell) odpowiedzi @ Benny'ego

Maszyna A:

W terminalu PowerShell Visual Studio Code:

code --list-extensions > extensions.list

Maszyna B:

  1. Skopiuj listę rozszerzeń do urządzenia B

  2. W terminalu PowerShell Visual Studio Code:

    cat extensions.list |% { code --install-extension $_}
    
milanio
źródło
1
To po prostu uruchamia nowe okno kodu z kartą Powitanie dla mnie.
Gandalf Saxe
1
Ta odpowiedź działa idealnie dla mnie - nie miałem żadnych problemów z zainstalowaniem wszystkiego.
SE Strikes Again Niestety,
To moja preferowana odpowiedź, ponieważ nie opiera się na xargs (w porównaniu z odpowiedzią o wyższej ocenie). Teraz, gdyby tylko „kod” został rozpoznany jako polecenie ... westchnienie (to zawsze coś)
GG2
To zadziałało idealnie, tworząc mój plik .list i pokazując mi, jakie rozszerzenia mam obecnie na biegunach. Potrzebowałem tylko tej listy jako referencji. Nie musiałem wykonywać procesu kopiowania. Wielkie dzięki.
klewis
Prosty, niewielki wysiłek i skuteczny. To powinna być odpowiedź.
Księżniczka Inna
21

Użyłem następującego polecenia, aby skopiować moje rozszerzenia z vscode do osób wewnętrznych vscode:

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

Argument -L 1pozwala nam wykonać polecenie code-insiders --install-extensionraz dla każdej linii wejściowej wygenerowanej przezcode --list-extensions

MUG4N
źródło
Jest to bardzo przydatne init.shw repozytorium w moich plikach dotfiles. Najpierw instaluję rozszerzenia z pliku, a następnie zapisuję wszystkie aktualnie zainstalowane rozszerzenia do pliku. Jedynym minusem jest to, że musiałbym usunąć plik, jeśli chcę usunąć rozszerzenie, ale powinno działać, jeśli je dodam.
ThaJay
11

Wygeneruj polecenie systemu Windows dla rozszerzeń instalacji.

for /F "tokens=*" %i in ('code --list-extensions')
   do @echo call code --install-extension %i >> install.cmd
sadisaks
źródło
9

Dla systemu Linux

W OLD_MACHINE

code --list-extensions > vscode-extensions.list

IN NEW_MACHINE

cat vscode-extensions.list | xargs -L 1 code --install-extension
Falieson
źródło
cat: vscode-extensions.list: No such file or directory
vsync
Wydaje się, że możesz poprawić swoją odpowiedź, określając, że vscode-extensions.listplik musi zostać skopiowany ze starego komputera na nowy.
Jørn Jensen
7

Otwórz konsolę VScode i napisz:

code --list-extensions(lub code-insiders --list-extensionsjeśli jest zainstalowany program wewnętrzny vscode)

Następnie podziel się z kolegami linią komend:

code --install-extension {ext1} --install-extension {ext2} --install-extension {extN}zastępując {ext1}, {ext2}..., {extN}wymienionym rozszerzeniem tou

Dla osoby używającej vscode: code-insiders --install-extension {ext1} ...

Jeśli skopiują / wkleją go w terminalu linii poleceń vscode, zainstalują wspólne rozszerzenia

Więcej informacji na temat zarządzania rozszerzeniami wiersza poleceń

Damien Leroux
źródło
3

Istnieje rozszerzenie Extension Manager , które może pomóc. Wygląda na to, że pozwala zainstalować zestaw rozszerzeń określonych w settings.json.

Michael_Scharf
źródło
Próbowałem, ale ta wtyczka nie instaluje jshint, który próbowałem dodać do mojego pliku ustawień ...
Andrew
3

Odpowiedź Benny'ego na Windows z podsystemem Linux:

C:\> code --list-extensions | wsl xargs -L 1 echo code --install-extension
Álvaro González
źródło
3

Rozszerzenia zrzutu:

code --list-extensions > extensions.txt

Zainstaluj rozszerzenia za pomocą bash (Linux, OSX i WSL):

cat extensions.txt | xargs code --list-extensions {}

Zainstaluj rozszerzenia w systemie Windows za pomocą programu PowerShell:

cat extensions.txt |% { code --install-extension $_}
Morten
źródło
1
Niestety to nie działa. Używa --list-extensions, co się nie instaluje, więc powinno to być coś, --install-extensionale po zmianie na to nadal nie działa
atwright147
3

https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions

Lepszym sposobem udostępniania listy rozszerzeń jest utworzenie zestawu rozszerzeń opartego na obszarze roboczym dla współpracowników.

Po wygenerowaniu listy rozszerzeń za pomocą code --list-extensions | xargs -L 1 echo code --install-extension(sprawdź, czy $PATHzawiera wpis Visual Studio Code C:\Program Files\Microsoft VS Code\bin\przed uruchomieniem poleceń kodu),

uruchom polecenie Extensions: Configure Recommended Extensions (Workspace Folder)Visual Studio Code ( Ctrl+ Shift+ P) i wstaw rozszerzenia do wygenerowanego .vscode/extensions.json:

{
    "recommendations": [
        "eg2.tslint",
        "dbaeumer.vscode-eslint",
        "msjsdiag.debugger-for-chrome"
    ]
}
godblessstrawberry
źródło
2

Otworzyłem folder rozszerzeń Visual Studio Code i wykonałem:

find * -maxdepth 2 -name "package.json" | xargs grep "name"

To daje listę, z której można wyodrębnić nazwy rozszerzeń.

Juri
źródło
1

Jeśli zamierzasz udostępniać konfigurację rozszerzeń obszaru roboczego w zespole, powinieneś zapoznać się z funkcją Zalecanych rozszerzeń VSCode.

Aby wygenerować ten plik, otwórz paletę poleceń> Configure Recommended Extensions (Workspace Folder). Stamtąd, jeśli chcesz uzyskać wszystkie swoje obecne rozszerzenia i umieścić je tutaj, możesz użyć --list-extensionsrzeczy wymienionych w innych odpowiedziach, ale dodaj trochę awk, aby można je było wkleić do tablicy json (możesz uzyskać mniej więcej zaawansowane proszę, to tylko krótki przykład):

code --list-extensions | awk '{ print "\""$0"\"\,"}'

Zaletą tej metody jest to, że konfiguracja obszaru roboczego dla całego zespołu może być sprawdzona pod kontrolą źródła. Gdy ten plik jest obecny w projekcie, po otwarciu projektu VSCode powiadomi użytkownika o zalecanych rozszerzeniach do zainstalowania (jeśli jeszcze ich nie ma) i może zainstalować je wszystkie za jednym naciśnięciem przycisku.

eziegl
źródło
1
  1. code --list-extensions > list

  2. sed -i 's/.*/\"&\",/' list

  3. skopiować zawartość pliku listi dodać do .vscode/extensions.json w "recommendations" sekcji.

  4. Jeśli extensions.jsonnie istnieje, utwórz plik z następującą zawartością

{
    "recommendations": [
        //add content of file list here
    ]
}
  1. udostępnij extensions.jsonplik i poproś innego użytkownika o dodanie do .vscodefolderu. vscode wyświetli monit o instalację rozszerzeń.
zakres kodów
źródło
1

Jak wyeksportować swoje rozszerzenia VS Code z terminala tutaj jest git, ponieważ może to być pomoc dla kogoś.

Jak wyeksportować rozszerzenia VS Code z terminala

Uwaga: tylko systemy uniksopodobne .

1) Wyeksportuj swoje rozszerzenia do pliku powłoki:

code --list-extensions | sed -e 's/^/code --install-extension /' > my_vscode_extensions.sh

2) Sprawdź plik instalatora rozszerzeń:

less my_vscode_extesions.sh

Zainstaluj rozszerzenia (opcjonalnie)

Uruchom polecenie my_vscode_extensions.shusing Bash :

bash my_vscode_extensions.sh
rohityadav
źródło
0

Dla tych, którzy zastanawiają się, jak skopiować swoje rozszerzenia z Visual Studio Code do insiderów Visual Studio Code, skorzystaj z tej modyfikacji odpowiedzi Benny'ego:

code --list-extensions | xargs -L 1 echo code-insiders --install-extension
Erik
źródło