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

Ste*_*fan 5 task visual-studio gruntjs add-custom-command gulp

我希望能够为 VisualStudio 解决方案定义自定义命令/任务/宏。然后我想对在Solution Explorer.

有几种可能来执行对我来说没问题的命令:

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

b) 在Solution Explorer. 然后单击工具栏上的按钮。然后该命令会以某种方式从Solution Explorer.

c) 在Solution Explorer. 然后从Task Runner Explorer. 执行的任务会以某种方式从“解决方案资源管理器”中检索所选文件

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

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

我还试图用一个Grunt或Gulp可从启动任务Task Runner Explorer。但是,我不知道如何传递/访问当前在Solution Explorer.

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

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

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

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

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

Ste*_*fan 6

1.创建外部工具命令:

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

在此输入图像描述

2. 将外部命令添加为解决方案资源管理器的上下文菜单的入口

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

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

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

在此输入图像描述

运行命令

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

停止命令

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

导出设置

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

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

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

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