Visual Studio - запуск пакетного файла

Что мне хотелось бы

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

То, что я знаю до сих пор

Я знаю, что вы можете создавать пользовательские ярлыки в разделе "Инструменты" Visual Studio (в разделе "Внешние инструменты" ).

Мои решения имеют разные скрипты/пакетные файлы, и я хочу, чтобы был способ создания ярлыков в папке с решениями или в другом месте, которое является конкретным решением.

Я могу создать скрипты, но, похоже, не существует способа запустить script. Мне не нравится открывать проводник Windows каждый раз, когда я хочу запустить script.

Возможно, надстройка, которая начнет процесс с выбранного файла в проводнике решений? Или что-то подобное?

Ответ 1

Лучший способ продолжить - написать внешний инструмент, а затем вы можете передать параметры на основе вашего текущего загружаемого решения.

Есть много переменных проекта и решения, которые вы можете передать своему внешнему инструменту. Откройте диалоговое окно "Внешние инструменты" и выберите инструмент в списке. Вы увидите название своего внешнего инструмента, а также команду, указывающую на script или пакетный script, который вы хотите вызвать. В поле редактирования аргументов есть кнопка рядом с ней со стрелкой рядом с ней. Нажмите стрелку, и вы увидите большой список переменных или параметров, которые вы можете передать своему внешнему инструменту.

Итак, например, вы можете использовать следующее:

$(ProjectDir) - полный каталог путей проекта, над которым вы работаете. например, "C:\builds\myproject"

$(ProjectPath) - полное имя пути vcproj, над которым вы работаете. например, "C:\builds\myproject\foo.vcproj"

$(ProjectName) - название проекта. например, "foo"

$(SolutionDir) - полный каталог путей для текущего загружаемого решения. например, "C:\builds\mysolution"

и т.д...

Ответ 2

Я сделал это, щелкнув правой кнопкой мыши командный файл и выбрав "Открыть с", затем добавил новый редактор и использовал explorer.exe(а затем установил его как редактор по умолчанию).

Add program dialog

Ответ 3

Ниже приведены подробные инструкции по добавлению внешнего инструмента для запуска пакетных файлов, щелкнув правой кнопкой мыши по файлу и выберите "Запустить пакетный файл" , также, когда вам нужно отредактировать файл, просто откройте его и отредактируйте.

Вот как это сделать...

Создайте внешний инструмент под названием "Запустить пакетный файл"

    1) From Tools-> External Tools, create a new and put the below parameters:
    2) Set the Command to: CMD.EXE
    3) Set the Arguments to: /c "$(ItemPath)"
    4) Set the Initial directory to: $(ItemDir)
    5) ![DO NOT Check the "use output window" check box and then Apply to create the command
    Note where the new command appeared in the list of commands. 
        The external commands are numbered from 1 starting below the divider bar. 
#1 is usually "Create GUID"
To make it easy to remember you can move the new  command to the top, to be the number one command in the list.][1]

    6) Now go to Tools -> Customize and select the commands tab.
    7) Select the Context menu radio button and select "Project and Solution Context menus | Item" from the drop down.
    8) Now use "Add Command..." to add a new command
    9) In the Categories list select "Tools"
    10) From the commands select the "External Command #" that corresponds to the position of the "Run Batch file" custom command you noted the number of in step 5 above.
    11) Move it to the right position in the list add keyboard short cuts etc.
    12) Close the dialogue.

Теперь щелкните правой кнопкой мыши на пакетном файле и вы увидите пункт меню "Запустить пакетный файл" . Это выполнит пакетный файл и отобразит его в окне вывода VS.

Надеюсь, что это поможет.

enter image description here

enter image description here

Ответ 4

Будут ли какие-либо приемы захвата объектов сборки (предварительная сборка, предварительная компоновка, пост-сборка)? Также вы можете проверить настройку пользовательской сборки. Это часть решения.

Ответ 5

Вы можете добавить новый проект Makefile в свое решение. Проект Makefile - это простой проект Visual Studio, действие сборки которого - любая требуемая вами командная строка. Он указан в категории Visual С++ - General в новом диалоговом окне проекта. В вашем случае просто установите команду build для вызова вашей партии script. Затем, чтобы выполнить ваш script во время работы в вашем решении, просто щелкните правой кнопкой мыши проект Makefile в обозревателе решений и выберите пункт контекстного меню Build.

Поскольку вы планируете запускать этот script запуск по требованию (в отличие от запуска при каждом создании), вы захотите удалить его из сборки в Configuration Manager. Не забудьте отключить построение проекта для всех платформ и конфигураций.

Большинство макросов доступны для командной строки проекта Makefile, хотя, возможно, некоторые из них, связанные с вашим основным проектом, не будут иметь правильное значение.