Не удалось найти задачу build visual studio code

Обновлено: 04.07.2024

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

Если в базе кода используются пользовательские средства сборки, которые не распознаются Visual Studio, для выполнения и отладки такого кода в Visual Studio требуются определенные сведения о конфигурации. Чтобы указать Visual Studio правила сборки вашего кода, определите задачи сборки. Создав одну или несколько задач сборки, вы сможете указать в них все элементы, которые потребуются для сборки и выполнения кода на определенном языке. Кроме того, можно создавать произвольные задачи с практически неограниченными возможностями. Например, с помощью задач можно вывести список содержимого папки или переименовать файл.

Чтобы настроить базу кода, не относящуюся к конкретному проекту, воспользуйтесь следующими файлами .json:

Имя файла Цель
tasks.vs.json Определяет настраиваемые команды сборки и параметры компилятора, а также произвольные (не имеющие отношения к сборке) задачи.
Доступ к файлу можно получить в обозревателе решений, выбрав пункт контекстного меню Настройка задач.
launch.vs.json Определяет аргументы командной строки для отладки.
Доступ к файлу можно получить в обозревателе решений, выбрав пункт контекстного меню Параметры отладки и запуска.

Описанные файлы .json находятся в скрытой папке с именем .vs в корневой папке базы кода. Файлы tasks.vs.json и launch.vs.json создаются в среде Visual Studio по мере необходимости, то есть когда вы выбираете в обозревателе решений действия Настройка задач или Параметры отладки и запуска для файла или папки. Эти файлы .json скрыты, потому что пользователи обычно не добавляют их в систему управления версиями. Чтобы применить для них управление версиями, перетащите файлы в корневой каталог проекта, где они станут видимыми.

Чтобы просмотреть скрытые папки в Visual Studio, нажмите кнопку Показать все файлы на панели инструментов обозревателя решений.

Определение задач в файле tasks.vs.json

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

Меню настройки задач

В среде разработки откроется (или будет создан, если его еще нет) файл tasks.vs.json в папке .vs. Можно определить в этом файле задачу сборки или произвольную задачу, а затем вызывать ее по имени в контекстном меню обозревателя решений.

Настраиваемые задачи можно размещать в отдельных файлах или во всех файлах определенного типа. Например, можно определить во всех файлах пакета NuGet задачу "Восстановить пакеты" или поместить во все файлы исходного кода задачу статического анализа, например анализатор кода для всех JS-файлов.

Определение настраиваемых задач сборки

Если в базе кода используются настраиваемые средства сборки, которые не распознаются в Visual Studio, вам не удастся выполнить и отладить код в Visual Studio без нескольких дополнительных настроек. Visual Studio поддерживает задачи сборки, в которых вы можете указать Visual Studio правила сборки, перестроения и очистки кода. Файл задачи сборки tasks.vs.json связывает внутренний цикл разработки Visual Studio с пользовательскими средствами сборки, применяемыми для базы кода.

Этот файл makefile содержит целевые объекты сборки, очистки и перестроения, и вы можете определить для него указанный ниже файл tasks.vs.json. Он содержит три задачи сборки (для сборки, перестроения и очистки), для которых применяется средство сборки NMAKE.

Когда вы определите в файле tasks.vs.json задачи сборки, в контекстном меню обозревателя решений для соответствующих файлов появятся дополнительные пункты. В нашем примере для всех файлов makefile в контекстное меню добавляются действия "Сборка", "Перестроить" и "Очистить".

Контекстное меню для файла makefile с пунктами сборки, перестроения и очистки

Эти команды отображаются в контекстном меню в разделе Настройка задач, как указано для них в параметрах contextType . "Сборка", "перестроение" и "очистка" являются командами сборки, поэтому они отображаются в разделе сборки, в центре контекстного меню.

Если вы выберете любой из этих вариантов, будет выполнена соответствующая задача. Выходные данные отображаются в окне Вывод, а ошибки сборки — в окне Список ошибок.

Определение произвольных задач

Вы можете описать в файле tasks.vs.json произвольную задачу, которая предназначена для выполнения любого действия. Например, можно определить задачу для отображения имени файла, выбранного в окне вывода, или списка файлов в указанном каталоге.

Ниже представлен пример файла tasks.vs.json, который определяет одну задачу. При вызове этой задачи отображается имя выбранного файла .js.

  • taskName определяет имя, отображаемое в контекстном меню.
  • В appliesTo указывается, для каких файлов можно выполнить эту команду.
  • Свойство command определяет вызываемую команду. В нашем примере в переменной среды COMSPEC задается интерпретатор командной строки, обычно это cmd.exe.
  • В свойстве args задаются аргументы, которые будут переданы вызываемой команде.
  • Макрос $ передает выбранный файл в обозреватель решений.

Сохранив файл tasks.vs.json, вы можете щелкнуть правой кнопкой мыши любой файл .js и выбрать команду Echo filename (Отобразить имя файла). Имя файла будет отображено в окне Вывод.

Если в базе кода нет файлов tasks.vs.json, вы можете создать такой файл с помощью команды Настройка задач в контекстном меню обозревателя решений. Эту команду также можно вызвать, щелкнув файл правой кнопки мыши.

В следующем примере определяется задача перечисления всех файлов и вложенных папок из каталога bin.

  • Пользовательский макрос $ определяется перед блоком tasks . Затем он вызывается в свойстве args .

Эта задача применяется ко всем файлам. Открыв в обозревателе решений контекстное меню для любого файла, вы увидите в нижней части этого меню задачу с именем List Outputs (Перечислить выходные объекты). Если выбрать команду List Outputs (Перечислить выходные объекты), все содержимое каталога bin выводится в окне Вывод в Visual Studio.

Произвольные задачи в контекстном меню

Область действия параметров

В корневой папке и вложенных папках базы кода может быть несколько файлов tasks.vs.json. Такой подход позволяет гибко настраивать разные правила для разных каталогов в базе кода. Visual Studio объединяет или переопределяет параметры для разных разделов базы кода, используя следующий приоритет файлов:

  • файлы параметров в каталоге .vs в корневой папке;
  • каталог, для которого вычисляются параметры;
  • родительский каталог текущего каталога (вплоть до корневого каталога);
  • файлы параметров в корневом каталоге.

Эти правила агрегирования применяются к tasks.vs.json. Сведения о правилах агрегирования параметров для другого файла см. в посвященном ему разделе этой статьи.

Свойства для tasks.vs.json

В этом разделе описаны некоторые свойства, которые можно задать в файле tasks.vs.json.

appliesTo

Вы можете создать задачи для любого файла или папки, указав их имена в поле appliesTo , например так: "appliesTo": "hello.js" . В качестве значения можно использовать следующие маски файлов:

Маска файла Описание
"*" Задача доступна для всех файлов и папок в рабочей области.
"*/" Задача доступна для всех папок в рабочей области.
"*.js" Задача доступна для всех файлов с расширением JS в рабочей области.
"/*.js" Задача доступна для всех файлов с расширением JS в корневой папке рабочей области.
"src/*/" Задача доступна для всех подпапок в папке SRC.
"makefile" Задача доступна для всех файлов makefile в рабочей области.
"/makefile" Задача доступна только для файлов makefile в корневой папке рабочей области.

Макросы для tasks.vs.json

Макрос Описание
$ Обозначает любую переменную среды (например, $, $ и т. д), которая определена для командной строки разработчика. Дополнительные сведения см. в статье о командной строке разработчика и PowerShell для разработчиков.
$ Полный путь к папке рабочей области (например, C:\sources\hello).
$ Полный путь к файлу или папке, для которой выполняется текущая задача (например, C:\sources\hello\src\hello.js).
$ Относительный путь к файлу или папке (например, src\hello.js).
$ Имя файла без пути или расширения (например, hello).
$ Полный путь к файлу без имени этого файла (например, C:\sources\hello\src).
$ Расширение выбранного файла (например, JS).

Настройка отладки с помощью launch.vs.json

Сведения о настройке проектов CMake для отладки см. в разделе Настройка сеансов отладки CMake.

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

Контекстное меню "Параметры отладки и запуска"

В диалоговом окне Выбор отладчика выберите нужный вариант и нажмите кнопку Выбрать.

Диалоговое окно "Выбор отладчика"

Если файла launch.vs.json еще нет, он будет автоматически создан.

Теперь щелкните правой кнопкой мыши исполняемый файл в обозревателе решений и выберите команду Назначить автозапускаемым элементом.

Теперь этот исполняемый файл будет отмечен как автозапускаемый элемент и его имя отобразится на кнопке Пуск на панели инструментов отладки.

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

Дополнительные сведения о настраиваемых задачах сборки и отладки в проектах открытых папок C++ см. в статье Open Folder support for C++ build systems in Visual Studio (Поддержка открытых папок для систем сборки C++ в Visual Studio).

Указание аргументов для отладки

Вы можете указать в файле launch.vs.json аргументы командной строки, которые будут переданы для отладки. Добавьте нужные аргументы в массив args , как показано в следующем примере:

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

Раскрывающийся список конфигураций отладки

Массив configurations , заданный в файле launch.vs.json, считывается из двух расположений — из корневого каталога базы кода и каталога .vs. Если между ними возникает конфликт, преимущество отдается значениям из .vs\launch.vs.json.

Дополнительные файлы параметров

Помимо трех файлов .json, которые описаны в этом разделе, Visual Studio считывает параметры из нескольких дополнительных файлов, если обнаружит их в базе кода.

.vscode\settings.json

Visual Studio считывает часть параметров из файла с именем settings.json, если он находится в каталоге с именем .vscode. Этот механизм применяется для поддержки баз кода, которые ранее разрабатывались в Visual Studio Code. Сейчас из файла .vscode\settings.json считывается только один параметр files.exclude , который определяет фильтрацию для отображения файлов в обозревателе решений и некоторых средствах поиска.

Вы можете определить в базе кода любое количество файлов .vscode\settings.json. Параметры из этого файла применяются к каталогу на один уровень выше соответствующего .vscode и ко всем его подкаталогам.

.gitignore

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

Параметры из файла .gitignore применяются к родительскому каталогу файла и всем его подкаталогам.

Читайте также: