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

How to execute custom file specific command / task in Visual Studio?

我希望能够为 VisualStudio 解决方案定义自定义 commands/task/macro。然后我想对 Solution Explorer 中选择的文件执行该命令。

有几种方法可以执行适合我的命令:

a) 右击 Solution Explorer 中的文件并从上下文菜单中选择命令(我的最爱)

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

c) Select Solution Explorer 中的一个文件。然后从Task Runner Explorer开始一个任务。执行的任务会以某种方式从 'Solution Explorer'

中检索选定的文件

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

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

我还尝试使用可以从 Task Runner Explorer 启动的 GruntGulp 任务。但是,我不知道如何 pass/access 当前选择的文件 Solution Explorer.

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

=> 是否有 VisualStudio 扩展可以轻松地为文件定义自定义命令?

=> 如何在脚本文件中 pass/access 在 SolutionExplorer 中选择的文件(例如 Gulp、Grunt、Webpack)?

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

可以编写我自己的 VisualStudio 扩展。但我想其他人已经知道了解决方案。

1。创建外部工具命令:

  • 工具=>外部工具=>添加
  • 将cmd.exe用作Command
  • 使用 /c 作为“参数”的第一个条目,然后指定要执行的命令行命令,例如咕噜声
  • 使用可用变量,例如$(SolutionDir), $(ItemPath) (=文件路径), ...自定义你的外部命令

2。添加外部命令作为解决方案资源管理器上下文菜单的条目

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

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

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

运行 命令

为解决方案资源管理器中的项目使用新的上下文菜单条目

停止命令

为了cancel/stop外部命令,您还可以使用解决方案资源管理器的上下文菜单。如果命令的原名称是“Test with Karma”,那么只要命令是运行,标题就会被修改为“(Stop) Test with Karma”。 =>Select 停止命令的条目。

导出设置

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

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

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

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

你可以用我的Visual Commander extension to define a custom command/macro. On how to get the currently selected file in Solution Explorer see