Получение выбранного файла и использование IVsSingleFileGenerator

Я пытаюсь добавить несколько новых функций в пакет, разработанный для нашей компании. Одна из этих функций заключается в создании нового файла на основе файла, выбранного в обозревателе решений, и выбранного пункта меню. Я создал свои элементы динамического меню, которые находятся в обозревателе решений, и похоже, что мне нужно использовать 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.

Это лучший подход?


person kerry    schedule 31.03.2011    source источник


Ответы (1)


Я также разместил этот вопрос на форумах msdn по адресу: VSX получает выбранный файл и использует IVsSingleFileGenerator

В итоге я использовал образец IPyIntegration, чтобы выяснить, что мне нужно сделать.

person kerry    schedule 19.08.2011