Получить файлы / папки из решения в VS Extension - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь перечислить все папки, подпапки и файлы в foreach.Хитрость в том, что я хочу сделать это из визуального расширения студии.Примечание: я использую VS для Mac.

Я использую следующие страницы документации:

Ссылка на дерево расширений & Обзор API

Сейчас я немного растерялся, но придумал следующее:

string curdir = Directory.GetCurrentDirectory();
var root = Directory.GetDirectoryRoot(curdir);
foreach (string file in Directory.EnumerateFiles(".", "*", SearchOption.AllDirectories))
{
    Console.WriteLine("{0} in {1}", file, curdir);
}

Поскольку это расширение, есть код для запуска этого из меню.Я думаю, что код не имеет отношения к вопросу.Когда я запускаю программу (расширение), она запускает другую среду IDE, в которой доступна моя кнопка пользовательского меню, которая запускает этот код.

Когда я ее запускаю, я вижу некоторые файлы из проекта расширения., а не проект, который я открыл в новой IDE, которая только началась.

Попытка быть абсолютно ясной: Visual Studio (назовем VS1) собирает и компилирует мое расширение в другой экземпляр Visual Studio (назовем VS2).Мое расширение затем используется в этом новом экземпляре (VS2), но когда код выполняется, он показывает файлы и папки из VS1 вместо VS2.

Я не хочу этого, потому что цель состоит в том, чтобы иметь возможность использовать это расширение для вывода списка файлов любого проекта, а не для вывода списка файлов расширения.В конечном итоге выполнить некоторую очистку в указанных файлах.

Я думаю, что моя проблема - одна из них:

  • Я не могу определить решение, из которого я выполняю этот код.Правильный API, но неправильное использование.
  • Не используется правильный API для вывода списка всех файлов и папок.

Чтобы дать некоторые пояснения, следующий шаг здесь, в конце, направощелкните по проекту и перечислите все файлы и папки для этого проекта.Что, в свою очередь, станет ступенькой к некоторой очистке файлов.

Мой вопрос:

Как правильно составить список файлов и папок решения из кода расширения?Код, который я запускаю здесь, похоже, указывает на проект, который выполняет , а не тот, из которого он выполняется.

Это наводит меня на мысль, что я не использую правильный API;но документы довольно непонятны и трудны для навигации, я совсем не уверен, что мне следует использовать.

...