如何在Visual Studio中执行自定义文件特定的命令/任务?

问题描述:

我希望能够为VisualStudio解决方案定义自定义命令/任务/宏。然后,我想要执行该命令以查找在Solution Explorer中选择的文件。如何在Visual Studio中执行自定义文件特定的命令/任务?

有几种可能要执行的命令,这将是对我罚款:从上下文菜单中

一)关于Solution Explorer文件右键单击并选择命令(我的最爱)

b )在Solution Explorer中选择一个文件。然后点击工具栏上的按钮。然后该命令以某种方式从Solution Explorer中检索选定的文件。

c)在Solution Explorer中选择一个文件。然后从Task Runner Explorer开始一项任务。执行的任务会以某种方式从“解决方案资源管理器”中取回选定的文件

我试图使用VisualStudio扩展VsCommandBuddy。但是,它不支持文件中的特定命令,请参阅

https://github.com/PaulHuizer/VsCommandBuddy/issues/21

我也尝试过使用可以从Task Runner Explorer启动一个GruntGulp任务。然而,我不知道如何通过/访问当前选择的文件Solution Explorer

https://blogs.msdn.microsoft.com/webdev/2016/01/06/task-runners-in-visual-studio-2015/

=>是否有一个VisualStudio的扩展,可以轻松地允许定义文件的自定义命令?

=>如何在脚本文件(如Gulp,Grunt,Webpack)中传递/访问在SolutionExplorer中选择的文件?

=>您会推荐其他舒适的工作流程吗?

这将有可能编写我自己的VisualStudio扩展。但我想其他人已经知道这个解决方案。

创建外部工具命令:

  • 工具=>外部工具=>添加
  • 使用的cmd.exe作为Command
  • 使用/ C作为用于`参数的第一个条目,然后指定你想要执行的命令行命令,例如grunt
  • 使用可用的变量,例如, $(SolutionDir)$(ItemPath)(=文件路径),...定制你的外部命令

enter image description here

添加外部命令,进入到解决方案资源管理器的右键菜单

  • 工具=>自定义=>命令

  • 选择上下文菜单:项目和解决方案上下文菜单|项目

  • 添加命令=>工具=>外部命令1

enter image description here

运行命令

使用的项目在Solution Explorer

新的上下文菜单项

停止命令

为了取消/停止外部命令,您还可以使用解决方案资源管理器的上下文菜单。如果该命令的原始名称是“Test with Karma”,则只要该命令正在运行,标题将被修改为“(停止)以Karma测试”。 =>选择该条目来停止命令。

导出设置

不幸的是,这些设置无法与解决方案(?)一起存储。但是可以导出这些设置。然后,同事也可以导入它们:

  • 工具=>导入和导出设置... =>下一步

  • 常规设置=>外部工具列表和

  • 常规设置=>菜单和命令栏自定义

您可以使用我的Visual Commander扩展名来定义自定义命令/宏。关于如何在解决方案资源管理器中获取当前选定的文件,请参见In a VS 2015 extension, how can I get the selected object in the Solution Explorer?

+0

它是否允许使用解决方案保存命令?我希望在版本控制下有解决方案。如果一个同事能够打开该解决方案并且可以使用这些命令而无需进行额外的设置导入,那将是非常好的。 – Stefan

+1

@Stefan号您可以在解决方案打开时自动读取文件,不会向Visual Commander添加命令。 –