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

Sha*_*han 47 cmd visual-studio-code

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

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

在此输入图像描述

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

Sha*_*han 65

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

code --list-extensions
code --install-extension ms-vscode.cpptools
code --uninstall-extension ms-vscode.csharp
Run Code Online (Sandbox Code Playgroud)

文档

  • 现在可以使用带有--install-extension的--force选项来更新扩展名。(请参阅GitHub问题[#58434](https://github.com/Microsoft/vscode/issues/58434#issuecomment-421023851),提交[1dd7326](https://github.com/Microsoft/vscode/commit/1dd732608fa588652d4f01aa16e54e8695b0320a )。 (4认同)
  • 很遗憾,他们没有** - 没有'--update-extension`.无法使用命令行进行更新. (3认同)
  • code --list-extensions和其他命令无效,这些命令仅打开vscode窗口,而没有执行预期的操作。顺便说一句,我在wn7 x64上使用vscode win32-x64-1.21.1 (2认同)

svi*_*ick 9

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

code --install-extension ms-vscode.csharp
Run Code Online (Sandbox Code Playgroud)

  • 这在最近的版本中不起作用。现在出现 2 个错误:“忽略选项安装扩展:代码不支持。”和“必须提供至少一个文件或文件夹。” (2认同)

小智 9

要添加上面的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.
Run Code Online (Sandbox Code Playgroud)

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

Wad*_*son 7

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

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

code --install-extension myExtensionFolder\myExtension.vsix

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

  • 万一其他人遇到这个答案。您必须使用“--install-extension”参数来安装 vsix。https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix (4认同)

Ele*_*ios 5

@derekbaker783 提供的 PowerShell 脚本对我不起作用,它抛出一个与“Code”不是 cmdlet 相关的异常,所以我将分享一个对我有用的替代方案:

$vsCodeExec = ($Env:PROGRAMFILES) + "\Visual Studio Code\Bin\code.cmd"
$extensions = @(
    "ms-vscode.cpptools",               # C/C++ Language Support
    "ms-dotnettools.csharp",            # C# Language Support
    "dbankier.vscode-instant-markdown", # Markdown Language Support
    "ms-vscode.powershell",             # PowerShell Language Support
    "ms-python.python",                 # Python Language Support
    "rebornix.ruby",                    # Ruby Language Support
    "spences10.vba",                    # VBA Language Support
    "luggage66.vbscript",               # VBScript Language Support
    "gordonwalkedby.vbnet",             # VB.NET Language Support
    "dotjoshjohnson.xml",               # XML Language Support
    "abusaidm.html-snippets",           # HTML Snippets
    "ecmel.vscode-html-css",            # CSS Intellisense for HTML
    "formulahendry.code-runner",        # Code Runner
    "ms-vscode-remote.remote-wsl",      # VSCode Remote - WSL
    "vscode-icons-team.vscode-icons",   # Icons for VSCode
    "ms-vscode.vs-keybindings",         # Visual Studio Keymap for VSCode
    "abhiagr.livs"                      # Open/Launch in Visual Studio
) | SORT

$extensions | ForEach-Object {
    try {
        Invoke-Expression "& '$vsCodeExec' --install-extension $_ --force"
        Write-Host # New-Line
    } catch {
        $_
        Exit(1)
    }
}

Exit(0)
Run Code Online (Sandbox Code Playgroud)