我正在使用C#为Visual Studio 2013编写VSPackage。
我需要一个简单的菜单添加到Visual Studio菜单栏。单击它时,我希望将Visual Studio中的当前打开(活动)文档上载到特定的存储库中。
更多说明: 我想创建像 VisualSVN 这样的东西,当你安装它时,一个菜单被添加到VS工具栏。单击工具栏上的菜单时,我想在Visual Studio中上传当前打开的文件。
问题:如何在Visual Studio中获取当前文档路径?
我尝试过: Globals.ThisAddin.Application.ActiveDocument
和DTE.ActiveDocument
。
(基本上Globals
和DTE
对我没有ThisAddin
,ActiveDocuments
。)
答案 0 :(得分:1)
所以我解决了我的问题:
displayText = "";
if(radio1.isChecked){
displayText = "radio1";
}else if(radio2.isChecked){
displayText = "radio2";
}
if(checkbox1.isChecked){
displayText += "checkbox1";
}
if(checkbox2.isChecked){
displayText += "checkbox2";
}
textview.setText(displayText);
我也试过DTE dte = (DTE)GetService(typeof(DTE));
string filePath = dte.ActiveDocument.FullName;
:
DTE2
注意:使用EnvDTE80.DTE2 dte2;
dte2 = (ENVDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0");
string filePath = dte2.ActivaDocument.FullName;
时,我在主Visual Studio中获取当前文档(运行代码时,将打开另一个Visual Studio,您可以在调试时看到您的VSPackage 。)第一种方法(DTE
)获取新打开的VS中活动文档的路径。第二种方法(DTE
)获取当前Visual Studio中的活动文档 - 您正在编写代码的文档。