Dela via


tasks.vs.json schemareferens (C++)

Om du vill berätta för Visual Studio hur du skapar källkoden i ett projekt med öppen mapp lägger du till en tasks.vs.json fil. Du kan definiera valfri godtycklig aktivitet här och sedan anropa den från snabbmenyn i Solution Explorer . CMake-projekt använder inte den här filen eftersom alla byggkommandon anges i CMakeLists.txt. För andra byggsystem än CMake ärtasks.vs.json där du kan ange byggkommandon och anropa byggskript. Allmän information om hur du användertasks.vs.jsonfinns i Anpassa bygg- och felsökningsuppgifter för utveckling av "Öppna mapp".

En aktivitet har en type egenskap som kan ha ett av fyra värden: default, launch, remote, eller msbuild. De flesta uppgifter bör använda launch om inte en fjärranslutning krävs.

Standardegenskaper

Standardegenskaperna är tillgängliga för alla typer av uppgifter:

Fastighet Typ Beskrivning
taskLabel snöre (Krävs.) Anger den aktivitetsetikett som används i användargränssnittet.
appliesTo snöre (Krävs.) Anger vilka filer som kommandot kan utföras på. Jokertecken kan användas, till exempel: "", ".cpp", "/*.txt"
contextType snöre Tillåtna värden: "anpassad", "bygg", "rensa", "återbygg". Avgör var i snabbmenyn aktiviteten ska visas. Standardvärdet är "custom".
output snöre Anger en utdatatagg för din uppgift.
inheritEnvironments samling Anger en uppsättning miljövariabler som ärvts från flera källor. Du kan definiera variabler i filer som CMakeSettings.json eller CppProperties.json och göra dem tillgängliga för aktivitetskontexten. Visual Studio 16.4:: Ange miljövariabler per uppgift med hjälp av syntaxen env.VARIABLE_NAME . Om du vill ta bort en variabel ställer du in den på "null".
passEnvVars booleskt Anger om ytterligare miljövariabler ska inkluderas i aktivitetskontexten. Dessa variabler skiljer sig från de som definieras med egenskapen envVars . Standardvärdet är "true".

Startinställningar

När aktivitetstypen är launchär dessa egenskaper tillgängliga:

Fastighet Typ Beskrivning
command snöre Anger den fullständiga sökvägen för processen eller skriptet som ska startas.
args samling Anger en kommaavgränsad lista med argument som skickas till kommandot.
launchOption snöre Tillåtna värden: "None", "ContinueOnError","IgnoreError". Anger hur du fortsätter med kommandot när det finns fel.
workingDirectory snöre Anger den katalog där kommandot ska köras. Som standard används projektets aktuella arbetskatalog.
customLaunchCommand snöre Anger en global omfångsanpassning som ska tillämpas innan kommandot körs. Användbart för att ange miljövariabler som %PATH%.
customLaunchCommandArgs snöre Anger argument till customLaunchCommand. (Kräver customLaunchCommand.)
env Anger en nyckel/värde-lista över anpassade miljövariabler. Till exempel "myEnv": "myVal"
commands samling Anger en lista över kommandon som ska anropas i ordning.

Exempel

Följande uppgifter anropar make.exe när en makefile finns i mappen och Mingw64 miljön har definierats som CppProperties.json, som visas i CppProperties.json schemareferens:

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

Dessa uppgifter kan anropas från snabbmenyn när du högerklickar på en .cpp fil i Solution Explorer.

Fjärregenskaper

Fjärruppgifter aktiveras när du installerar Linux-utvecklingen med C++-arbetsbelastningen och lägger till en anslutning till en fjärrdator med hjälp av Visual Studio Connection Manager. En fjärraktivitet kör kommandon på ett fjärrsystem och kan även kopiera filer till den.

När aktivitetstypen är remoteär dessa egenskaper tillgängliga:

Fastighet Typ Beskrivning
remoteMachineName snöre Namnet på fjärrdatorn. Måste matcha ett datornamn i Anslutningshanteraren.
command snöre Kommandot som ska skickas till fjärrdatorn. Som standard körs kommandon i katalogen $HOME på fjärrsystemet.
remoteWorkingDirectory snöre Den aktuella arbetskatalogen på fjärrdatorn.
localCopyDirectory snöre Den lokala katalogen som ska kopieras till fjärrdatorn. Standardvärdet är den aktuella arbetskatalogen.
remoteCopyDirectory snöre Katalogen på fjärrdatorn som localCopyDirectory kopieras till.
remoteCopyMethod snöre Den metod som ska användas för kopiering. Tillåtna värden: "none", "sftp", "rsync". rsync rekommenderas för stora projekt.
remoteCopySourcesOutputVerbosity snöre Tillåtna värden: "Normal","Utförlig","Diagnostik".
rsyncCommandArgs snöre Standardinställningen är "-t --delete".
remoteCopyExclusionList samling Kommaavgränsad lista över filer i localCopyDirectory som ska undantas från kopieringsåtgärder.

Exempel

Följande uppgift visas på snabbmenyn när du högerklickar på main.cpp i Solution Explorer. Det beror på en fjärrdator som heter ubuntu i Anslutningshanteraren. Uppgiften kopierar den aktuella öppna mappen i Visual Studio till sample katalogen på fjärrdatorn och anropar sedan g++ för att skapa programmet.

{
  "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-egenskaper

När aktivitetstypen är msbuildär dessa egenskaper tillgängliga:

Fastighet Typ Beskrivning
verbosity snöre Anger hur detaljerad utskriften ska vara för MSBuild-projektets byggresultat. Tillåtna värden: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic".
toolsVersion snöre Anger verktygsuppsättningsversionen för att skapa projektet, till exempel "2.0", "3.5", "4.0", "Current". Standardvärdet är "Nuvarande".
globalProperties objekt Anger en nyckel/värde-lista över de globala egenskaper som ska skickas till projektet, till exempel "Konfiguration":"Release"
properties objekt Anger en nyckel-värde-lista med projektunika tilläggsegenskaper.
targets samling Anger listan över mål som ska anropas i ordning för projektet. Projektets standardmål används om inget anges.