我正在尝试将几个新功能添加到我为我们公司开发的包中。这些功能之一是根据在解决方案资源管理器中选择的文件和选择的菜单选项创建一个新文件。我已经在解决方案资源管理器上创建了我的动态菜单项,看起来我需要使用IVsSingleFileGenerator ,如此示例中所示。
我遇到的麻烦是获取我选择的文件并读取它或将其传递给单个文件生成器。我宁愿从此上下文菜单中生成文件,也不愿从自定义工具操作中生成文件
看起来这会给我文件的路径
UIHierarchy solutionExplorer = _applicationObject.ToolWindows.SolutionExplorer;
var items = solutionExplorer.SelectedItems as Array;
if (items == null || items.Length != 2)
{
return;
}
String strFile1 = String.Empty;
UIHierarchyItem item1 = items.GetValue(0) as UIHierarchyItem;
foreach (UIHierarchyItem hierarchyItem in items)
{
ProjectItem prjItem = hierarchyItem.Object as ProjectItem;
string prjPath = prjItem.Properties.Item("FullPath").Value.ToString();
}
然后我可以使用它来传递给 ivs 单文件生成器的生成函数。
这是最好的方法吗?