tasks.vs.json schema reference (C++)
Aby poinformować program Visual Studio, jak skompilować kod źródłowy w projekcie Otwórz folder, dodaj plik tasks.vs.json . W tym miejscu można zdefiniować dowolne zadanie, a następnie wywołać je z menu kontekstowego Eksplorator rozwiązań. Projekty CMake nie używają tego pliku, ponieważ wszystkie polecenia kompilacji są określone w pliku CMakeLists.txt. W przypadku systemów kompilacji innych niż CMake plik tasks.vs.json służy do określania poleceń kompilacji i wywoływania skryptów kompilacji. Aby uzyskać ogólne informacje na temat używania pliku tasks.vs.json, zobacz Dostosowywanie zadań kompilacji i debugowania na potrzeby programowania "Otwórz folder".
Zadanie ma type
właściwość, która może mieć jedną z czterech wartości: default
, , launch
remote
lub msbuild
. Większość zadań powinna być używana launch
, chyba że wymagane jest połączenie zdalne.
Właściwości domyślne
Właściwości domyślne są dostępne we wszystkich typach zadań:
Właściwość | Pisz | opis |
---|---|---|
taskLabel |
string | (Wymagane). Określa etykietę zadania używaną w interfejsie użytkownika. |
appliesTo |
string | (Wymagane). Określa, na których plikach można wykonać polecenie. Użycie symboli wieloznacznych jest obsługiwane, na przykład: "", ".cpp", "/*.txt" |
contextType |
string | Dozwolone wartości: "custom", "build", "clean", "rebuild". Określa, gdzie w menu kontekstowym pojawi się zadanie. Wartość domyślna to "custom". |
output |
string | Określa tag wyjściowy zadania. |
inheritEnvironments |
tablica | Określa zestaw zmiennych środowiskowych dziedziczony z wielu źródeł. Zmienne można definiować w plikach, takich jak CMake Ustawienia.json lub CppProperties.json, i udostępnić je kontekstowi zadania. Visual Studio 16.4:: Określ zmienne środowiskowe dla poszczególnych zadań przy użyciu env.VARIABLE_NAME składni . Aby usunąć ustawienie zmiennej, ustaw ją na wartość "null". |
passEnvVars |
boolean | Określa, czy należy uwzględnić dodatkowe zmienne środowiskowe w kontekście zadania. Te zmienne różnią się od tych zdefiniowanych przy użyciu envVars właściwości . Wartość domyślna to "true". |
Uruchamianie właściwości
Gdy typ zadania to launch
, są dostępne następujące właściwości:
Właściwość | Pisz | opis |
---|---|---|
command |
string | Określa pełną ścieżkę procesu lub skryptu do uruchomienia. |
args |
tablica | Określa rozdzielaną przecinkami listę argumentów przekazanych do polecenia. |
launchOption |
string | Dozwolone wartości: "None", "ContinueOnError", "IgnoreError". Określa, jak kontynuować wykonywanie polecenia, gdy występują błędy. |
workingDirectory |
string | Określa katalog, w którym zostanie uruchomione polecenie. Domyślnie jest to bieżący katalog roboczy projektu. |
customLaunchCommand |
string | Określa dostosowanie zakresu globalnego do zastosowania przed wykonaniem polecenia. Przydatne do ustawiania zmiennych środowiskowych, takich jak %PATH%. |
customLaunchCommandArgs |
string | Określa argumenty customLaunchCommand. (Wymaga customLaunchCommand .) |
env |
Określa listę klucz-wartość niestandardowych zmiennych środowiskowych. Na przykład "myEnv": "myVal" | |
commands |
tablica | Określa listę poleceń, które mają być wywoływane w kolejności. |
Przykład
Następujące zadania wywołują plik make.exe, gdy plik make jest udostępniany w folderze, a Mingw64
środowisko zostało zdefiniowane w pliku CppProperties.json, jak pokazano w dokumentacji schematu CppProperties.json:
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "gcc make",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make"
},
{
"taskLabel": "gcc clean",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make",
"args": ["clean"]
}
]
}
Te zadania można wywołać z menu kontekstowego po kliknięciu prawym przyciskiem myszy pliku cpp w Eksplorator rozwiązań.
Właściwości zdalne
Zadania zdalne są włączane podczas instalowania programowania w systemie Linux przy użyciu obciążenia C++ i dodawania połączenia do maszyny zdalnej przy użyciu programu Visual Studio Połączenie ion Manager. Zadanie zdalne uruchamia polecenia w systemie zdalnym i może również kopiować do niego pliki.
Gdy typ zadania to remote
, są dostępne następujące właściwości:
Właściwość | Pisz | opis |
---|---|---|
remoteMachineName |
string | Nazwa maszyny zdalnej. Musi być zgodna z nazwą maszyny w menedżerze Połączenie ion. |
command |
string | Polecenie do wysłania do maszyny zdalnej. Domyślnie polecenia są wykonywane w katalogu $HOME w systemie zdalnym. |
remoteWorkingDirectory |
string | Bieżący katalog roboczy na maszynie zdalnej. |
localCopyDirectory |
string | Katalog lokalny do skopiowania na maszynę zdalną. Domyślnie jest to bieżący katalog roboczy. |
remoteCopyDirectory |
string | Katalog na maszynie zdalnej, do którego localCopyDirectory jest kopiowany. |
remoteCopyMethod |
string | Metoda do skopiowania. Dozwolone wartości: "none", "sftp", "rsync". Funkcja rsync jest zalecana w przypadku dużych projektów. |
remoteCopySourcesOutputVerbosity |
string | Dozwolone wartości: "Normal","Verbose","Diagnostic". |
rsyncCommandArgs |
string | Wartość domyślna to "-t --delete". |
remoteCopyExclusionList |
tablica | Rozdzielona przecinkami lista plików do localCopyDirectory wykluczenia z operacji kopiowania. |
Przykład
Następujące zadanie zostanie wyświetlone w menu kontekstowym po kliknięciu prawym przyciskiem myszy pliku main.cpp w Eksplorator rozwiązań. Zależy to od maszyny zdalnej wywoływanej ubuntu
w programie Połączenie ion Manager. Zadanie kopiuje bieżący otwarty folder w programie Visual Studio do sample
katalogu na maszynie zdalnej, a następnie wywołuje bibliotekę g++ w celu skompilowania programu.
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "Build",
"appliesTo": "main.cpp",
"type": "remote",
"contextType": "build",
"command": "g++ main.cpp",
"remoteMachineName": "ubuntu",
"remoteCopyDirectory": "~/sample",
"remoteCopyMethod": "sftp",
"remoteWorkingDirectory": "~/sample/hello",
"remoteCopySourcesOutputVerbosity": "Verbose"
}
]
}
właściwości programu MSBuild
Gdy typ zadania to msbuild
, są dostępne następujące właściwości:
Właściwość | Pisz | opis |
---|---|---|
verbosity |
string | Określa dane wyjściowe kompilacji projektu MSBuild verbosityAllowed wartości: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic". |
toolsVersion |
string | Określa wersję zestawu narzędzi do skompilowania projektu, na przykład "2.0", "3.5", "4.0", "Current". Wartość domyślna to "Current". |
globalProperties |
obiekt | Określa listę klucz-wartość właściwości globalnych, które mają być przekazywane do projektu, na przykład "Configuration":"Release" |
properties |
obiekt | Określa listę klucz-wartość dodatkowych właściwości tylko projektu. |
targets |
tablica | Określa listę obiektów docelowych, które mają być wywoływane w kolejności w projekcie. Domyślny element docelowy projektu jest używany, jeśli żaden z nich nie zostanie określony. |
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla