Windows 颤振医生如何检测安装了什么ide

Windows 颤振医生如何检测安装了什么ide,windows,flutter,cmd,Windows,Flutter,Cmd,在windows server 2016上运行颤振时,医生显示VS未安装。如果有人能在源代码中告诉我颤振是如何检测ide的(我的理解是他们使用默认位置,而不是环境变量),那将很有帮助。感谢@pskink找到它;对不起,我花了这么长时间才回复 截止日期的位置:v1.15.9 发现颤振调用vswhere.exe来解析位置和版本信息 例: 此外,它会传递“-required”参数以验证是否安装了某些软件包,等等:最有可能在此处完成:(或其他visual_studio*.dart文件)您的问题是否真的

在windows server 2016上运行颤振时,医生显示VS未安装。如果有人能在源代码中告诉我颤振是如何检测ide的(我的理解是他们使用默认位置,而不是环境变量),那将很有帮助。

感谢@pskink找到它;对不起,我花了这么长时间才回复

截止日期的位置:v1.15.9

发现颤振调用vswhere.exe来解析位置和版本信息

例:


此外,它会传递“-required”参数以验证是否安装了某些软件包,等等:

最有可能在此处完成:(或其他
visual_studio*.dart
文件)您的问题是否真的是关于visual studio的,只有在打开预览Windows桌面支持时才会检查它,或者关于VS代码?@pskink,TY,这完美地回答了我的问题!当然可以,欢迎您。请花点时间通读下面的内容。堆栈溢出上的格式设置与其他站点不同。
$vsw_path = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe";
$vsw_raw_data = (& $vsw_path -version 16);
$vsw_sdata = @{};
$vsw_ins_start = 3;
$vsw_ins_stop = $vsw_raw_data.Count - $vsw_ins_start; 
do {
  $k,$v = (($vsw_raw_data[$vsw_ins_start]) -Split ':\s');
  $vsw_sdata.add($k,$v); ++$vsw_ins_start
} while ($vsw_ins_start -ne $vsw_ins_stop); 
$vsw_sdata.productPath