【问题标题】:Programmatically open file in visual studio在 Visual Studio 中以编程方式打开文件
【发布时间】:2019-11-14 22:19:32
【问题描述】:

我正在构建一个内部开发人员工具。我想做的是在我的 UI 中添加一个按钮,单击该按钮将在 Visual Studio 中打开特定文件以进行更高级的编辑。我想使用任何可能已经打开的 VS 窗口。

有什么办法吗?

进一步澄清。它是一个编辑特殊 XML 文件的自定义 winform 应用程序。有时用户需要转到 VS 来做更高级的事情。我只想为他们打开文件,而不是让他们在 VS 中浏览。

【问题讨论】:

标签: c# winforms visual-studio-2010


【解决方案1】:

您可以拨打devenv.exe 来运行VisualStudio。如果您提供 devenv.exe 的文件路径作为参数,Visual Studio 会打开给定的文件。

命令:devenv /edit myfile.xml

您可以使用Process 类运行上述命令。

试试这个:

private void button1_Click(object sender, EventArgs e)
{
    Process process = new Process();
    ProcessStartInfo startInfo = new ProcessStartInfo("devenv.exe", "/edit c:\\Data.txt");
    process.StartInfo = startInfo;
    process.Start();
}

【讨论】:

  • 这会打开一个新的 VS 实例。知道如何将该命令发送到已经运行的 devenv 实例吗?
  • 是的,它每次都会打开新的 VS 实例,我认为我们需要将参数传递给已经运行的 VS 实例。
  • 您需要提供 /Edit 参数才能在同一实例中打开它。看这里。 msdn.microsoft.com/en-us/library/aa991989.aspx
  • @skolte:是的,你是对的,使用/编辑选项它会在现有实例中打开文件,谢谢 skolte。
  • @Matt:正如 skolte 所说,您可以使用 /edit 选项在现有的 VS 实例中打开文件,请参阅我编辑的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多