如何从命令行安装Visual Studio Code扩展


69

打开代码实例时如何从命令提示符下安装Visual Studio代码扩展。我想从Visual Studio代码库安装扩展。

以下是我要安装的扩展数据。

在此处输入图片说明

我的Visual Studio代码实例已打开。我想做的是从命令提示符安装以下扩展名。


您能不能简单地打开Visual Studio Code的命令面板并键入ext install并从扩展列表中选择John Papa的扩展?它似乎现在在那里可用。为什么要在命令提示符下执行此操作?
达伦·埃文斯

3
可能不是出于娱乐目的而从命令行手动进行操作,而是将命令集成到一个较大的脚本中,例如,该脚本完全自动设置了他的整个系统。必须打开VS代码才能执行此操作,然后单击手动才能击败“完全自动”部分
Nicolas Marshall

Answers:


104

为了使自动化和配置VS Code更容易,可以从命令行列出,安装和卸载扩展。标识扩展名时,提供表单Publisher.extension的全名,例如donjayamanne.python。

code --list-extensions
code --install-extension ms-vscode.cpptools
code --uninstall-extension ms-vscode.csharp

文献资料


4
太难过了,他们并没有具备--update-extension。无法使用命令行更新。
照明者

2
code --list-extensions和其他命令无效,这些命令仅打开vscode窗口,而没有执行预期的操作。顺便说一句,我在wn7 x64上使用vscode win32-x64-1.21.1
hugemeow

7
现在可以使用--force带有选项的扩展程序--install-extension。(请参阅GitHub问题#58434,提交1dd7326。)
Peterino

12

根据文档,您可以使用--install-extension它。例如:

code --install-extension ms-vscode.csharp

2
这在最近的版本中不起作用。现在可以看到2个错误:Ignoring option install-extension: not supported for code.At least one file or folder must be provided.
Avindra Goolcharan

12

要添加到上述Shan Khan的答案中,如果要在.bat文件中安装扩展名,则必须使用call关键字,否则脚本将在扩展名安装完成后退出。此外,如果code.exe不在路径中,并且您正在使用完整路径进行调用,请确保您指向的/bin目录:

echo.
echo.
echo Installing VS Code Extensions...
call "C:\Program Files\Microsoft VS Code\bin\code" --install-extension ritwickdey.liveserver
call "C:\Program Files\Microsoft VS Code\bin\code" --install-extension ritwickdey.live-sass
call "C:\Program Files\Microsoft VS Code\bin\code" --install-extension ms-vscode.csharp
call "C:\Program Files\Microsoft VS Code\bin\code" --install-extension PKief.material-icon-theme
echo Done.
echo.
echo.

2
如果要在脚本(批处理,ansible,bash等)中自动安装vscode扩展,我建议添加该--force标志,因为--install-extension如果已经安装了旧版本,它将提示更新扩展。在自动脚本中,人们不会总是在那里回答提示。如果不希望始终安装扩展的最新版本,则需要使用--list-extensions--show-versions并以编程方式决定是否更新。
Kallmanation '18 -10-17

5

我相信您要安装的扩展名为.vsix文件。这里的文档。复制以供参考。

您可以手动安装打包在.vsix文件中的VS Code扩展名。只需使用VS Code命令行(提供.vsix文件的路径)进行安装即可。

code --install-extension myExtensionFolder\myExtension.vsix

该扩展名将安装在您的用户.vscode / extensions文件夹下。您可以在命令行上提供多个.vsix文件,以一次安装多个扩展名。


您提供的Senerio必须包含一个vsix文件。我只想提供ID或链接或名称,它将直接从市场上下载vsix或扩展名并安装在代码中。?
山汗

嗯..我在文档中没有看到有关该操作的任何信息。您可以按照此处所述使用命令托盘。那是您要找的东西吗?如果是这样,我将更新我的答案。
韦德·安德森

4
万一其他人遇到这个答案。您必须使用'--install-extension'参数来安装vsix。 code.visualstudio.com/docs/editor/…–
Sorskoot,

0

首先,找到标准的扩展名。为此,您可以右键单击给定的扩展名,然后选择“复制扩展名”(位于扩展名窗格中)。

由于其他答案已经说明了.BAT / .CMD语法,因此以下是使用Powershell脚本安装扩展的示例(当然可以从CMD执行)。

# A system-wide install of VSCode might be in: "C:\Program Files\Microsoft VS Code\bin\code"
param(
    [string] $pathToVsCodeExe = ($Env:USERPROFILE + '\AppData\Local\Programs\Microsoft VS Code'),
    [string[]] $extensions = @("editorconfig.editorconfig", "dbaeumer.vscode-eslint")
)


try {
    $originalLocation = Get-Location
    Set-Location $pathToVsCodeExe
    $extensions | ForEach-Object {
        Invoke-Expression -Command "Code --install-extension $_ --force"
    }    
}
catch {
    $_
}
finally {
    Set-Location $originalLocation    
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.