Я хотел бы легко выполнить пакетный файл, не оставляя Visual Studio. Пакетные файлы являются не всегда тем же, они изменяются в зависимости от решения, с которым я работаю.
Я знаю, что можно создать пользовательские ярлыки в разделе Tools Visual Studio (Под Внешними Инструментами).
Мои решения имеют различные сценарии/пакетные файлы, и мне жаль, что не было способа создать ярлыки под папкой решения или некоторым другим местом, которое является конкретным решением.
Я могу создать сценарии, но там, кажется, не способ запустить скрипт. Мне не нравится иметь необходимость открыть Windows Explorer каждый раз, когда я хочу запустить скрипт.
Возможно, дополнение, которое запустило бы процесс с выбранного файла в проводнике решения? Или что-то подобное?
Лучший способ продолжить - это написать внешний инструмент, а затем вы можете передать параметры на основе вашего текущего загруженного решения.
Есть много переменных, специфичных для проекта и решения, которые вы можете передать своему внешнему инструменту. Откройте диалоговое окно «Внешние инструменты» и выберите нужный инструмент в списке. Вы увидите название вашего внешнего инструмента, а также команду, которая указывает на скрипт или пакетный скрипт, который вы хотите вызвать. Рядом с полем редактирования аргументов есть кнопка со стрелкой. Щелкните стрелку, и вы увидите большой список переменных или параметров, которые вы можете передать своему внешнему инструменту.
Так, например, вы можете использовать следующее:
$ (ProjectDir) - полный путь к каталогу проекта, над которым вы работаете. например, «C: \ builds \ myproject»
$ (ProjectPath) - полный путь к vcproj, над которым вы работаете. например «C: \ builds \ myproject \ foo.vcproj»
$ (ProjectName) - имя проекта. например, «foo»
$ (SolutionDir) - каталог полного пути решения, которое в данный момент загружено. например «C: \ builds \ mysolution»
и т. д.
Пригодятся ли вам обработчики событий сборки (предварительная сборка, предварительная ссылка, пост-сборка)? Также вы можете проверить настройку Custom build. Это часть решения.