如何使用PowerShell在当前目录中打开visual studio解决方案



在powershell的配置文件设置中,我有以下行:

set-alias vs startVisualStudio
function startVisualStudio {
Start-Process -FilePath "C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe" .\*.sln
}

当我导航到包含.sln文件的目录并键入vs时,Visual Studio会打开默认的开始屏幕,告诉我.*.sln could not be found。我已经尝试了几种包含星号的方法,比如'backtick'*.sln/*.sln等,但总是相同的消息。如果我用一个简单的.替换.*.sln并运行vs,它确实会打开visualstudio中的当前目录,但不是一个解决方案。如何编写此函数以在Visual Studio中打开当前目录中的.sln?

*不会被powershell打开,它只会将其传递给Visual Studio。Visual Studio也不会做,所以你必须自己做。在文件夹中查找所有解决方案文件并获取第一个。如果不存在.sln文件,则此操作将失败。

set-alias vs startVisualStudio
function startVisualStudio 
{
$slnfile = (Get-ChildItem -Path . -Filter *.sln)[0].Name
Start-Process -FilePath "C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEdevenv.exe" $slnfile
}

我也通过以下操作在子目录中递归地工作(Powershell 7.0(:

打开powershell,类型

echo $profile

打开您个人资料的位置,将以下内容保存到其中:

function vs
{
Get-ChildItem *.sln -Recurse | Invoke-Item
}

然后只需在文件夹中键入vs,它就会在任何包含的文件夹中打开解决方案文件

最新更新