我可以创建Visual Studio宏以在调试器中启动特定项目吗?

我可以创建Visual Studio宏以在调试器中启动特定项目吗?

Can I create a Visual Studio macro to launch a specific project in the debugger?

我的项目在同一解决方案文件中同时具有客户端和服务器组件。我通常将调试器设置为在调试时一起启动它们,但通常是在调试器之外启动服务器,以便在仅处理客户端内容时可以根据需要启动和停止客户端。 (这要快得多)。

我试图避免自己在解决方案资源管理器中闲逛以启动单个项目的麻烦,而宁愿只是在工具栏上贴一个按钮,该按钮调用一个宏来启动单个项目的调试器(同时保留" F5"类型单独调试以启动两个进程)。

我尝试录制,但这并没有真正有用。

到目前为止,我所要做的就是在解决方案资源管理器中找到项目项:

1
2
3
 Dim projItem As UIHierarchyItem

 projItem = DTE.ToolWindows.SolutionExplorer.GetItem("SolutionName\\ProjectFolder\\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect)

(这宽松地基于宏记录器的尝试方式。我不确定导航UI对象模型是否是正确的方法,或者我是否应该考虑通过Solution / Project对象模型进行导航)。


好的。只要加载了解决方案,这似乎就可以在大多数UI(所有?)上下文中起作用:

1
2
3
4
5
6
 Sub DebugTheServer()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
    DTE.ActiveWindow.Object.GetItem("Solution\\ServerFolder\\ServerProject").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.Windows.Item(Constants.vsWindowKindOutput).Activate()
    DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance")
 End Sub

在C#加载项中,以下内容对我有用:

1
2
Dte.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate();
Dte.ToolWindows.SolutionExplorer.GetItem("SolutionName\\\\SolutionFolderName\\\\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect);

推荐阅读

    开机启动命令linux?

    开机启动命令linux?,软件,标准,环境,工作,设备,系统,名称,情况,电脑,位置,lin

    linux启动sh命令?

    linux启动sh命令?,工作,系统,代码,服务,脚本,文件,命令,目录,方法,权限,Linux

    linux启动信息命令?

    linux启动信息命令?,系统,信息,时间,命令,工作,检测,情况,设备,标准,管理,lin

    linux下进程调试命令?

    linux下进程调试命令?,系统,工作,软件,信息,命令,基础,地址,状态,进程,实时,L

    linux命令行自启动?

    linux命令行自启动?,服务,系统,脚本,设备,人员,工具,密码,最新,实时,代码,lin

    linux命令启动es?

    linux命令启动es?,地址,综合,数据,环境,工具,情况,办公,代码,市场,报告,我想

    linux启动加载命令行?

    linux启动加载命令行?,服务,系统,数字,首页,终端,环境,命令,方法,脚本,文件,

    linux网口调试命令?

    linux网口调试命令?,系统,工作,地址,信息,网络,技术指标,状态,电脑,命令,网

    linux打包项目命令?

    linux打包项目命令?,项目,文件,命令,软件,数字,系统,名称,工具,目录,格式,Lin

    linux项目更新命令行?

    linux项目更新命令行?,工作,地址,系统,数据,信息,项目,标准,电脑,目录,命令,l

    linux启动项加命令行?

    linux启动项加命令行?,系统,工作,项目,地址,命令,首页,数字,管理,服务,信息,

    linux下sh启动命令?

    linux下sh启动命令?,服务,标准,文件,工具,软件,权限,命令,脚本,终端,目录,Lin

    服务启动linux命令?

    服务启动linux命令?,服务,密码,信息,系统,名称,命令,文件,用户,下面,服务器,l

    linux命令解决方案?

    linux命令解决方案?,系统,管理,数据,电子,工作,电脑,软件,情况,不了,档案,lin

    linux启动进命令行?

    linux启动进命令行?,系统,首页,密码,工具,终端,情况,电脑,数字,界面,命令,如

    linux启动蓝牙命令?

    linux启动蓝牙命令?,设备,手机,系统,蓝牙,电脑,管理,网络,密码,通讯,信息,Lin

    linux启动进去命令行?

    linux启动进去命令行?,系统,工具,首页,电脑,终端,材料,密码,命令,快捷键,窗

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux命令行启动登陆?

    linux命令行启动登陆?,密码,系统,电脑,地址,设计,代码,项目,连续,工具,庞大,L

    linux的u盘启动命令?

    linux的u盘启动命令?,系统,电脑,工具,信息,软件,网上,名称,工作,设备,通用,从