如何将 VS 2022 的开发人员命令提示符集成为 VS Code 中的终端

mad*_*cht 3 cl visual-studio-code

我希望cl在 VisualStudio Code 中提供 Microsoft VS C++ 编译器。

我安装了 Visual Studio 构建工具,并且可以cl从开发人员命令提示符进行调用。

Microsoft 建议让 VS Code 使用编译器的默认方法cl是从开发人员命令提示符调用 VS Code。

我想以不同的方式进行操作,使用一个可以从 VS Code 调用的终端,并在需要时将其设为默认终端。

在 Windows 终端中,我使用命令行获取自动生成的开发人员命令提示符条目:

cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=x64 -host_arch=x64`
Run Code Online (Sandbox Code Playgroud)

或者

powershell.exe -NoExit -Command "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell 0d0637f3 -SkipAutomaticLocation -DevCmdArguments """-arch=x64 -host_arch=x64"""}"
Run Code Online (Sandbox Code Playgroud)

如果我将此行粘贴到现有的 vscode 终端中,它就可以工作并且我可以使用cl编译器。但我无法设法将其放入集成终端中settings.json

这是我在中尝试过的settings.json

"Developer Command Prompt for VS 2022": {
    "path": [
        "${env:windir}\\Sysnative\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\VsDevCmd.bat\" -arch=x64 -host_arch=x64",
        "${env:windir}\\System32\\cmd.exe /k \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\VsDevCmd.bat\" -arch=x64 -host_arch=x64"
    ],
    "overrideName": true,
    "args": [],
    "icon": "terminal-cmd"
},
Run Code Online (Sandbox Code Playgroud)

由于 VScode 非常智能,它会识别出这不起作用,甚至不会将其列为可用终端中的条目。

此外,我完全不知道如何处理 PowerShell 给出的命令行,特别是后面的三个双引号Import-Module以及如何处理它们。

Ste*_*tos 5

cmd.exe尝试以下操作从 VSCode 集成终端加载 VsDevCmd.bat 。

要通过 PowerShell 运行它,您应该能够将路径替换为PowerShell,并更改参数以进行相应匹配(/k将变为-NoExit等)。

"VsDevCmd (2022)": {
    "path": [
        "${env:windir}\\Sysnative\\cmd.exe",
        "${env:windir}\\System32\\cmd.exe"
    ],
    "args": [
        "/k",
        // Path below assumes a VS2022 Community install; 
        // update as appropriate if your IDE installation path
        // is different, or if using the standalone build tools
        "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/Tools/VsDevCmd.bat",
        "-arch=x64",
        "-host_arch=x64"
    ],
    "overrideName": true,
    "icon": "terminal-cmd"
},
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述