开发者

Programmatically open a file in Visual Studio (2010)

I'开发者_如何学Pythonm building a VS package, and I'm trying to send a command from the package to Visual Studio to open up a user selected file in a new tab (just like a user would do it by going to File -> Open...).

I remember seeing at some point how to do this. Can anybody refresh my memory?


I believe you want one of:

  1. IVsUIShellOpenDocument.OpenStandardEditor
  2. DTE.OpenFile
  3. DTE.ItemOperations.OpenFile

In the end, I think they all boil down to the same behavior.


I like to use the DTE method ExecuteCommand("commandName") as you can test the command in the VS Command Window

In this case ExecuteCommand("File.OpenFile")

You can add parameters to the command in a second optional string parameter if you wish.


You can use this function: VsShellUtilities.OpenDocument

If you call it from VSPackage method it looks like:

VsShellUtilities.OpenDocument(this, fileName);

Namespace: Microsoft.VisualStudio.Shell

Assemblies: Microsoft.VisualStudio.Shell.15.0.dll, Microsoft.VisualStudio.Shell.14.0.dll

Also it has two overloads which return additional information for opened document.

NOTE: This function is available in VS 2015 and later.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜