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
, remote
nebo 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 launch
typ ú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 remote
typ ú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 msbuild
typ ú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ý. |