如何将源代码管理资源管理器中当前选定的对象传递给外部工具?

时间:2019-07-17 20:43:29

标签: c# visual-studio

我试图添加一个我写到源代码管理浏览器的上下文菜单中的外部工具,但是我需要将当前选择的对象作为参数传递给可执行文件。

在Visual Studio中,工具->外部工具... 参数有一个选项,我已经尝试通过单击文本框旁边的箭头来访问菜单中的大多数选项。但是他们似乎是在参考有关工具本身的信息,而不是从Source Control Explorer获取信息。 Screenshot

老实说,我感到惊讶的是,我做的这项研究已有很长的历史了

我必须编辑我编写的程序,该程序才能运行,因为该程序由于未获得正确的输入而引发错误。目前,我不得不注释掉所有功能,并且该程序现在只需重新打印参数并等待输入即可。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以在此处找到外部工具的参数列表: Manage External Tools (MSDN)

如果我们再举个例子 External Tool dialog in Visual Studio $(ItemFileName)和$(ItemFileExt)-这两个值将发送到我们的可执行文件中,外部工具将在该可执行文件中运行该命令(命令)。

例如:

using System;
using System.Linq;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args) 
        { 
           Console.WriteLine(string.Join("", args));
        }
    }
}

这个小小的可执行文件将以args字符串数组的形式接收来自外部工具的参数,然后您可以收集在解决方案资源管理器中选择的文件名。

我已经在Visual Studio 2017中对其进行了测试。 External tools that is aware of selected item in solution explorer in Visual Studio