Udostępnij za pośrednictwem


dokumentacja schematu tasks.vs.json (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 CMakeLists.txt. W przypadku systemów kompilacji innych niż CMake tasks.vs.json można określić polecenia kompilacji i wywołać skrypty kompilacji. Aby uzyskać ogólne informacje na temat używania 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ść Type 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 CMakeSettings.json lub CppProperties.json i udostępniać 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ść Type 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ą make.exe, gdy plik make jest udostępniany w folderze, a Mingw64 środowisko zostało zdefiniowane w CppProperties.json, jak pokazano w CppProperties.json odwołania do schematu:

 {
  "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 systemu Linux za pomocą obciążenia C++ i dodawania połączenia do maszyny zdalnej przy użyciu programu Visual Studio Menedżer połączeń. 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ść Type opis
remoteMachineName string Nazwa maszyny zdalnej. Musi być zgodna z nazwą maszyny w Menedżer połączeń.
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 pojawi się w menu kontekstowym po kliknięciu prawym przyciskiem myszy main.cpp w Eksplorator rozwiązań. Zależy to od maszyny zdalnej wywoływanej ubuntu w Menedżer połączeń. 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ść Type 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.