c# - 在 visual studio 中以编程方式打开文件

标签 c# winforms visual-studio-2010

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

有什么办法吗?

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

最佳答案

您可以调用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();
}

注意 - 您需要提供 /Edit 参数才能在同一实例中打开它。请参阅此处:[msdn.microsoft.com/en-us/library/aa991989.aspx][1]

关于c# - 在 visual studio 中以编程方式打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21785363/

相关文章:

Winforms C# : async initialize

c# - .NET 定时器 Controller 的内部

c# - 在 ASP MVC 和 Entity Framework 中提交后页面会自行重新加载

c# - 有没有办法在两个项目之间共享 app.config?

c# - 最小起订量,如何匹配 2 个参数?

c# - 如何在 UWP 等 WPF 应用程序中使用连接动画

c# - 使用本地数据库发布 Windows 窗体

vb.net - vb.net 中的 Code 128 条形码生成

c# - 粗体 TreeView 节点被截断 - 官方修复将不起作用,因为构造函数中的代码

c# - 使用 ConcurrentBag 类型作为 List 的线程安全替代品