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

C# 如何将源代码管理资源管理器中当前选定的对象传递给外部工具?,c#,visual-studio,C#,Visual Studio,我正在尝试添加一个外部工具,该工具是我在源代码管理资源管理器的上下文菜单中编写的,但我需要将当前选定的对象作为参数传递给可执行文件 在Visual Studio中,工具->外部工具。。。 这里有一个参数选项,我已经尝试了通过单击文本框旁边的箭头访问的菜单中的大多数选项。但它们似乎指的是关于工具本身的信息,而不是从源代码管理资源管理器获取的信息 老实说,我很惊讶我竟然能做到这一点,因为我做的研究已经有好几年了 我必须编辑我编写的程序,这是工具运行的程序,因为它抛出错误,因为它没有得到正确的输入。

我正在尝试添加一个外部工具,该工具是我在源代码管理资源管理器的上下文菜单中编写的,但我需要将当前选定的对象作为参数传递给可执行文件

在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中进行了测试。

您可以在此处找到外部工具的参数列表:

如果我们使用 $(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中进行了测试。

我没有看到您添加到问题中的截图图像,您能检查一下是否需要重新添加以澄清问题吗?当我最初发布问题时,截图没有出现,但现在似乎我没有看到您添加到问题中的截图图像,你能检查一下它是否需要重新添加以澄清问题吗?当我最初发布问题时,屏幕截图没有显示,但现在看起来这并没有告诉我任何我还没有弄明白的事情。简而言之,我需要能够传入源代码管理资源管理器窗口中当前选定的对象。通过GUI提供的参数似乎完全属于我试图添加的工具本身的信息,可以考虑创建VisualStudio插件,以便从VisualStudio获取更多信息。使用VisualStudioSDK。这并没有告诉我任何我还没弄明白的事情。简而言之,我需要能够传入源代码管理资源管理器窗口中当前选定的对象。通过GUI提供的参数似乎完全属于我试图添加的工具本身的信息,可以考虑创建VisualStudio插件,以便从VisualStudio获取更多信息。使用VisualStudioSDK。