Udostępnij przez


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, , launchremotelub 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.