Megosztás a következőn keresztül:


tasks.vs.json sémahivatkozás (C++)

Ha meg szeretné mondani a Visual Studiónak, hogyan hozhatja létre a forráskódot egy Open Folder-projektben, vegyen fel egy tasks.vs.json fájlt. Itt bármilyen tetszőleges feladatot definiálhat, majd meghívhatja a Megoldáskezelő helyi menüjéből. A CMake-projektek nem használják ezt a fájlt, mert az összes buildparancs meg van adva CMakeLists.txt. A CMake-en kívüli buildelési rendszerek esetében tasks.vs.json itt adhatja meg a buildparancsokat, és meghívhatja a buildszkripteket. A tasks.vs.jsonhasználatával kapcsolatos általános információkért tekintse meg a "Mappa megnyitása" fejlesztés buildelési és hibakeresési feladatainak testreszabását ismertető témakört.

Egy tevékenységnek van egy type tulajdonsága, amely négy érték egyikével rendelkezhet: default, launch, remotevagy msbuild. A legtöbb feladatnak a launch használatával kell működnie, kivéve ha távoli kapcsolatra van szükség.

Alapértelmezett tulajdonságok

Az alapértelmezett tulajdonságok minden típusú tevékenységhez elérhetők:

Ingatlan típus Leírás
taskLabel szál/zsinór (Kötelező.) A felhasználói felületen használt feladatcímkét adja meg.
appliesTo szál/zsinór (Kötelező.) Megadja, hogy a parancs mely fájlokon hajtható végre. A helyettesítő karakterek használata támogatott, például: """, ".cpp", "/*.txt"
contextType szál/zsinór Engedélyezett értékek: "egyedi", "épít", "tisztít", "újraépít". Meghatározza, hogy a helyi menüben hol jelenik meg a feladat. Alapértelmezett beállításként "egyéni".
output szál/zsinór A tevékenység kimeneti címkéjét adja meg.
inheritEnvironments tömb Több forrásból öröklő környezeti változók készletét adja meg. Definiálhat változókat olyan fájlokban, mintCMakeSettings.jsonvagy CppProperties.json , és elérhetővé teheti őket a feladatkörnyezet számára. Visual Studio 16.4:: Környezeti változók megadása feladatonként a env.VARIABLE_NAME szintaxis használatával. A változók leválasztásához állítsa "null" értékre.
passEnvVars Boolean Megadja, hogy további környezeti változókat is belefoglaljon-e a tevékenységkörnyezetbe. Ezek a változók eltérnek a tulajdonság használatával envVars definiált változóktól. Alapértelmezés szerint "igaz".

Indítási tulajdonságok

A tevékenység típusa launchesetén ezek a tulajdonságok érhetők el:

Ingatlan típus Leírás
command szál/zsinór Megadja az elindítandó folyamat vagy szkript teljes elérési útját.
args tömb A parancsnak átadott argumentumok vesszővel tagolt listáját adja meg.
launchOption szál/zsinór Engedélyezett értékek: "None", "ContinueOnError","IgnoreError". Azt határozza meg, hogyan folytassa a parancsot hibák esetén.
workingDirectory szál/zsinór Azt a könyvtárat adja meg, amelyben a parancs futni fog. Alapértelmezésben a projekt aktuális munkakönyvtára.
customLaunchCommand szál/zsinór A parancs végrehajtása előtt alkalmazandó globális hatókör-testreszabást adja meg. Olyan környezeti változók beállításához hasznos, mint a %PATH%.
customLaunchCommandArgs szál/zsinór A customLaunchCommand argumentumait adja meg. (Szükséges customLaunchCommand.)
env Megadja az egyéni környezeti változók kulcs-érték listáját. Például: "myEnv": "myVal"
commands tömb A sorrendben meghívandó parancsok listáját adja meg.

példa

A következő feladatok make.exe hívódnak meg, amikor egy makefile elérhető a mappában, és a Mingw64 környezet definiálva van, ahogyan azt a CppProperties.json sémahivatkozás mutatja.

 {
  "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"]
    }
  ]
}

Ezek a feladatok a helyi menüből hívhatók meg, ha a jobb gombbal egy .cpp fájlra kattint a Megoldáskezelőben.

Távoli tulajdonságok

A távoli feladatok akkor engedélyezve vannak, ha a Linux-fejlesztést C++ számítási feladattal telepíti, és a Visual Studio Connection Managerrel kapcsolatot ad egy távoli géphez. A távoli feladatok parancsokat futtatnak egy távoli rendszeren, és fájlokat is másolhatnak rá.

A tevékenység típusa remoteesetén ezek a tulajdonságok érhetők el:

Ingatlan típus Leírás
remoteMachineName szál/zsinór A távoli gép neve. Meg kell egyeznie egy gép nevével a Connection Managerben.
command szál/zsinór A távoli gépre küldendő parancs. Alapértelmezés szerint a parancsok a távoli rendszer $HOME könyvtárában lesznek végrehajtva.
remoteWorkingDirectory szál/zsinór A távoli gép aktuális munkakönyvtára.
localCopyDirectory szál/zsinór A távoli gépre másolandó helyi könyvtár. Alapértelmezés szerint az aktuális munkakönyvtárat használja.
remoteCopyDirectory szál/zsinór A távoli gép azon könyvtára, ahova localCopyDirectory kerül átmásolásra.
remoteCopyMethod szál/zsinór A másoláshoz használt módszer. Engedélyezett értékek: "none", "sftp", "rsync". Az rsync használata nagy projektekhez ajánlott.
remoteCopySourcesOutputVerbosity szál/zsinór Engedélyezett értékek: "Normal","Verbose","Diagnostic".
rsyncCommandArgs szál/zsinór Alapértelmezés szerint "-t --delete".
remoteCopyExclusionList tömb A másolási műveletekből kizárandó fájlok localCopyDirectory vesszővel tagolt listája.

példa

A következő feladat akkor jelenik meg a helyi menüben, ha a jobb gombbal a main.cpp elemre kattint a Megoldáskezelőben. Ez a ubuntu hívott távoli géptől függ. A feladat átmásolja a Visual Studio aktuális megnyitott mappáját a sample távoli gép könyvtárába, majd meghívja a g++ parancsot a program létrehozásához.

{
  "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"
    }
  ]
}

MSBuild tulajdonságok

A tevékenység típusa msbuildesetén ezek a tulajdonságok érhetők el:

Ingatlan típus Leírás
verbosity szál/zsinór Megadja az MSBuild projekt build kimeneti részletességét. Engedélyezett értékek: "Csendes", "Minimal", "Normál", "Részletes", "Diagnosztikai".
toolsVersion szál/zsinór Megadja a projekt létrehozásához szükséges eszközkészlet-verziót( például "2.0", "3.5", "4.0", "Current". Alapértelmezett értékként „Aktuális” van beállítva.
globalProperties objektum Megadja a projektbe továbbítandó globális tulajdonságok kulcs-érték listáját, például :"Configuration":"Release"
properties objektum Adja meg a kizárólag projekthez tartozó tulajdonságok kulcs-érték listáját.
targets tömb Megadja a projekten sorrendben meghívandó célok listáját. A program a projekt alapértelmezett célhelyét használja, ha nincs megadva.