如何在 MSYS2 bash shell 中“获取”VsDevCmd.bat?

问题描述 投票:0回答:1

如何在 MSYS2 上的 bash shell 中输入 Visual Studio 开发人员提示符。目标是获得环境设置,以便 Visual Studio 安装的所有构建工具都可以在命令行上使用。

目标也是不要出现

cmd.exe
提示,因为我会使用所有 bash 别名和函数。

bash visual-studio shell msys2
1个回答
0
投票

我们无法获取

.bat
文件,因为源代码将由
bash
完成,并且需要 bash 代码,而不是批处理代码。
cmd
一侧的正确命令是
call
,但
call
是内部命令,在
bash
中不可用。

诀窍是用

cmd
生成
//c
(MSYS2 将其转换为
/c
),然后给出路径和参数,这作为别名看起来非常复杂:

export VS_DEFAULT_VERSION="2022"
alias vsdevcmd='{ f() { cmd //k "$(cygpath -wF 38)\\Microsoft Visual Studio\\${1:-$VS_DEFAULT_VERSION}\\Community\\Common7\\Tools\\VsDevCmd.bat" -startdir=none -arch=x64 -host_arch=x64 \&\& bash; }; }; f'

它允许通过提供年份来生成任何版本的开发人员提示,例如

vsdevcmd 2022

它假定架构 x64 和社区版本。

由于退出

cmd
意味着再次失去环境,我们只需选择通过将
bash
传递给
cmd
来再次在
&& bash
中打开
cmd

由于您在

vsdevcmd
中运行
bash
,其
PATH
环境将传递到
cmd
,这允许您再次返回到
bash
,但这次所有环境都是为 Visual Studio 设置的。

此解决方案已在 Windows SDK 的 Git 中进行了测试 (

winget install Git.SDK
)。

© www.soinside.com 2019 - 2024. All rights reserved.