Предотвратить открытие нового файла при добавлении - PullRequest
1 голос
/ 15 февраля 2011

Я делаю проект GAX, и у меня есть действие, которое добавляет все файлы из папки в новую папку «Элементы решения».Это служит для вставки файлов, необходимых в корне проекта, в качестве Local.testsettings и т. П.

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

Что я могу сделать, чтобы предотвратить это открытие?Я не могу использовать .close для ProjectItem.Document, потому что код не выполняется после инструкции mySolution.ProjectItems.AddFromFile (file).

Если вы знаете, как предотвратить открытие файладобавить (будь то вручную или по коду) я хотел бы знать.

Полный запрашиваемый код:

        DTE dte = GetService<DTE>();

        string folderPath = System.IO.Directory.GetCurrentDirectory() + SolutionFolderPath;

        var solution = dte.Solution as Solution2;
        var solutionItems = solution.AddSolutionFolder("Solution Items");

        foreach (var file in Directory.GetFiles(folderPath))
        {
            var item = solutionItems.ProjectItems.AddFromFile(file);                
        }       

Большое спасибо!

1 Ответ

0 голосов
/ 27 февраля 2019

Немного вздор из прошлого здесь, но я столкнулся с этим вопросом, когда я недавно пытался сделать то же самое для настраиваемого многопроектного мастера VS, который я написал.В VS2017 быстрое и простое решение было после добавления файлов (с использованием аналогичного кода в OP), я вызывал это в методе IWizard.RunFinished моей реализации мастера:Я сохраняю объект _DTE в свойстве члена в IWizard.RunStarted для последующего использования (вне метода RunStarted).Теперь, когда мой мастер шаблонов завершил работу, открытых документов нет!

...