我正在构建一个VS包,并尝试从该包发送命令到Visual Studio,以在新标签页中打开用户选择的文件(就像用户通过转到文件->打开...来执行操作一样)。
我记得曾经看到过如何做到这一点。有人能帮我恢复一下记忆吗?
我正在构建一个VS包,并尝试从该包发送命令到Visual Studio,以在新标签页中打开用户选择的文件(就像用户通过转到文件->打开...来执行操作一样)。
我记得曾经看到过如何做到这一点。有人能帮我恢复一下记忆吗?
我相信您想要的是以下之一:
最终,我认为它们都归结于相同的行为。
我喜欢使用DTE方法ExecuteCommand("commandName"),因为你可以在VS命令窗口中测试该命令。
在这种情况下,执行ExecuteCommand("File.OpenFile")命令。
如果需要,您可以在第二个可选的字符串参数中添加命令参数。
EnvDTE80.DTE2
:dte2.ExecuteCommand("File.OpenFile", pathToYourFile);
- PollitzerVsShellUtilities.OpenDocument(this, fileName);
命名空间:Microsoft.VisualStudio.Shell
程序集:Microsoft.VisualStudio.Shell.15.0.dll
,Microsoft.VisualStudio.Shell.14.0.dll
此外,它还有两个重载函数,可返回打开文档的附加信息。
注意:此功能仅适用于VS 2015及更高版本。
DTE
类型来自哪里)?上面提到的DTE
对象来自于EnvDTE.dll,所以尝试添加对它的引用。当你尝试创建一个新的DTE
对象时,你遇到了什么错误?是编译时错误还是运行时错误? - Chris Schmich