【问题标题】:How to execute custom file specific command / task in Visual Studio?如何在 Visual Studio 中执行自定义文件特定命令/任务?
【发布时间】:2017-07-26 08:18:54
【问题描述】:

我希望能够为 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

我还尝试使用可以从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 扩展。但我想其他人已经知道解决方案。

【问题讨论】:

    标签: visual-studio gulp gruntjs task


    【解决方案1】:

    1。创建外部工具命令:

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

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

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

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

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

    运行命令

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

    停止命令

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

    导出设置

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是否允许将命令与解决方案一起保存?我希望将解决方案置于版本控制之下。如果一位同事能够打开解决方案并获得可用的命令,而无需额外导入设置,那就太好了。
      • @Stefan 否。您可以在解决方案打开时自动读取文件,但不要向 Visual Commander 添加命令。
      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 2015-05-29
      • 2019-10-27
      相关资源
      最近更新 更多