Sdílet prostřednictvím


Referenční dokumentace schématu tasks.vs.json (C++)

Pokud chcete sadě Visual Studio sdělit, jak vytvořit zdrojový kód v projektu Otevřít složku, přidejte soubor tasks.vs.json . Zde můžete definovat libovolný úkol a pak ho vyvolat z místní nabídky Průzkumník řešení. Projekty CMake tento soubor nepoužívají, protože všechny příkazy sestavení jsou zadané v CMakeLists.txt. V případě jiných systémů sestavení než CMake tasks.vs.json je místo, kde můžete zadat příkazy sestavení a vyvolat skripty sestavení. Obecné informace o používání tasks.vs.json naleznete v tématu Přizpůsobení úloh sestavení a ladění pro vývoj "Otevřít složku".

Úkol má type vlastnost, která může mít jednu ze čtyř hodnot: default, launch, remotenebo msbuild. Většina úloh by měla používat launch , pokud není potřeba vzdálené připojení.

Výchozí vlastnosti

Výchozí vlastnosti jsou k dispozici pro všechny typy úkolů:

Vlastnost Type Description
taskLabel string (Povinné.) Určuje popisek úkolu použitý v uživatelském rozhraní.
appliesTo string (Povinné.) Určuje soubory, se kterými lze příkaz provést. Použití zástupných znaků se podporuje, například: "", ".cpp", "/*.txt"
contextType string Povolené hodnoty: "custom", "build", "clean", "rebuild". Určuje, kde se v místní nabídce úkol zobrazí. Výchozí hodnota je vlastní.
output string Určuje výstupní značku úkolu.
inheritEnvironments pole Určuje sadu proměnných prostředí zděděných z více zdrojů. Proměnné můžete definovat v souborech, jako jsou CMakeSettings.json nebo CppProperties.json , a zpřístupnit je kontextu úkolu. Visual Studio 16.4:: Pomocí syntaxe zadejte proměnné prostředí pro jednotlivé úlohy env.VARIABLE_NAME . Pokud chcete proměnnou zrušit, nastavte ji na hodnotu null.
passEnvVars boolean Určuje, jestli se mají do kontextu úkolu zahrnout další proměnné prostředí. Tyto proměnné se liší od proměnných definovaných pomocí envVars vlastnosti. Výchozí hodnota je true.

Vlastnosti spuštění

Pokud je launchtyp úlohy, jsou k dispozici tyto vlastnosti:

Vlastnost Type Description
command string Určuje úplnou cestu procesu nebo skriptu, který se má spustit.
args pole Určuje čárkami oddělený seznam argumentů předaných příkazu.
launchOption string Povolené hodnoty: None, ContinueOnError, IgnoreError. Určuje, jak pokračovat s příkazem, když dojde k chybám.
workingDirectory string Určuje adresář, ve kterém se příkaz spustí. Ve výchozím nastavení se nastaví aktuální pracovní adresář projektu.
customLaunchCommand string Určuje přizpůsobení globálního oboru, které se má použít před spuštěním příkazu. Užitečné pro nastavení proměnných prostředí, jako je %PATH%.
customLaunchCommandArgs string Určuje argumenty pro customLaunchCommand. (Vyžaduje customLaunchCommand.)
env Určuje seznam klíč-hodnota vlastních proměnných prostředí. Například "myEnv": "myVal"
commands pole Určuje seznam příkazů, které se mají vyvolat v pořadí.

Příklad

Následující úlohy vyvolávají make.exe při zadání souboru pravidel ve složce a Mingw64 prostředí bylo definováno v CppProperties.json, jak je znázorněno v odkazu na schéma 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"]
    }
  ]
}

Tyto úlohy lze vyvolat z místní nabídky po kliknutí pravým tlačítkem myši na soubor .cpp v Průzkumník řešení.

Vzdálené vlastnosti

Vzdálené úlohy jsou povoleny při instalaci vývoje pro Linux pomocí úlohy C++ a přidání připojení ke vzdálenému počítači pomocí sady Visual Studio Správce připojení. Vzdálená úloha spouští příkazy ve vzdáleném systému a může do ní také kopírovat soubory.

Pokud je remotetyp úlohy, jsou k dispozici tyto vlastnosti:

Vlastnost Type Description
remoteMachineName string Název vzdáleného počítače. Musí odpovídat názvu počítače v Správce připojení.
command string Příkaz pro odeslání do vzdáleného počítače. Ve výchozím nastavení se příkazy spouští v adresáři $HOME ve vzdáleném systému.
remoteWorkingDirectory string Aktuální pracovní adresář na vzdáleném počítači.
localCopyDirectory string Místní adresář, který se má zkopírovat do vzdáleného počítače. Výchozí hodnota je aktuální pracovní adresář.
remoteCopyDirectory string Adresář na vzdáleném počítači, do kterého localCopyDirectory se zkopíruje.
remoteCopyMethod string Metoda, která se má použít ke kopírování. Povolené hodnoty: "none", "sftp", "rsync". Rsync se doporučuje pro velké projekty.
remoteCopySourcesOutputVerbosity string Povolené hodnoty: "Normální","Podrobná","Diagnostika".
rsyncCommandArgs string Výchozí hodnota je -t --delete.
remoteCopyExclusionList pole Seznam souborů oddělených čárkami, které localCopyDirectory se mají vyloučit z operací kopírování

Příklad

Následující úloha se zobrazí v místní nabídce po kliknutí pravým tlačítkem myši na main.cpp v Průzkumník řešení. Závisí na vzdáleném počítači volaný ubuntu v Správce připojení. Úloha zkopíruje aktuální otevřenou složku v sadě Visual Studio do sample adresáře na vzdáleném počítači a potom vyvolá g++ pro sestavení 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"
    }
  ]
}

vlastnosti nástroje MSBuild

Pokud je msbuildtyp úlohy, jsou k dispozici tyto vlastnosti:

Vlastnost Type Description
verbosity string Určuje výstup sestavení projektu MSBuild výstup podrobnostíAllowed hodnoty: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic".
toolsVersion string Určuje verzi sady nástrojů pro sestavení projektu, například 2.0, 3.5, 4.0, Current. Výchozí hodnota je Aktuální.
globalProperties objekt Určuje seznam klíč-hodnota globálních vlastností, které se mají předat do projektu, například "Configuration":"Release".
properties objekt Určuje seznam klíč-hodnota dalších vlastností projektu.
targets pole Určuje seznam cílů, které se mají v projektu vyvolat v pořadí. Výchozí cíl projektu se použije, pokud není zadán žádný.