Condividi tramite


Informazioni di riferimento sullo schema tasks.vs.json (C++)

Per indicare a Visual Studio come compilare il codice sorgente in un progetto Apri cartella, aggiungere un file tasks.vs.json . È possibile definire qualsiasi attività arbitraria qui e quindi richiamarla dal menu di scelta rapida Esplora soluzioni. I progetti CMake non usano questo file perché tutti i comandi di compilazione vengono specificati in CMakeLists.txt. Per i sistemi di compilazione diversi da CMake, tasks.vs.json è la posizione in cui è possibile specificare i comandi di compilazione e richiamare gli script di compilazione. Per informazioni generali sull'uso di tasks.vs.json, vedere Personalizzare le attività di compilazione e debug per lo sviluppo di "Apri cartella".

Un'attività ha una type proprietà che può avere uno dei quattro valori: default, launch, remoteo msbuild. La maggior parte delle attività deve usare launch a meno che non sia necessaria una connessione remota.

Proprietà predefinite

Le proprietà predefinite sono disponibili in tutti i tipi di attività:

Proprietà Type Descrizione
taskLabel stringa (Obbligatorio).) Specifica l'etichetta dell'attività utilizzata nell'interfaccia utente.
appliesTo string (Obbligatorio).) Specifica i file su cui è possibile eseguire il comando. L'uso dei caratteri jolly è supportato, ad esempio: "", ".cpp", "/*.txt"
contextType string Valori consentiti: "custom", "build", "clean", "rebuild". Determina dove verrà visualizzata l'attività nel menu di scelta rapida. L'impostazione predefinita è "personalizzata".
output string Specifica un tag di output per l'attività.
inheritEnvironments array Specifica un set di variabili di ambiente ereditate da più origini. È possibile definire variabili in file come CMakeSettings.json o CppProperties.json e renderle disponibili per il contesto dell'attività. Visual Studio 16.4:: specificare le variabili di ambiente per ogni attività usando la env.VARIABLE_NAME sintassi . Per annullare l'impostazione di una variabile su "null".
passEnvVars boolean Specifica se includere o meno variabili di ambiente aggiuntive nel contesto dell'attività. Queste variabili sono diverse da quelle definite usando la envVars proprietà . Il valore predefinito è "true".

Proprietà di avvio

Quando il tipo di attività è launch, sono disponibili queste proprietà:

Proprietà Type Descrizione
command stringa Specifica il percorso completo del processo o dello script da avviare.
args array Specifica un elenco delimitato da virgole di argomenti passati al comando.
launchOption string Valori consentiti: "None", "ContinueOnError","IgnoreError". Specifica come procedere con il comando in caso di errori.
workingDirectory string Specifica la directory in cui verrà eseguito il comando. Il valore predefinito è la directory di lavoro corrente del progetto.
customLaunchCommand string Specifica una personalizzazione dell'ambito globale da applicare prima di eseguire il comando. Utile per l'impostazione di variabili di ambiente come %PATH%.
customLaunchCommandArgs string Specifica gli argomenti per customLaunchCommand. (Richiede customLaunchCommand.)
env Specifica un elenco chiave-valore delle variabili di ambiente personalizzate. Ad esempio, "myEnv": "myVal"
commands array Specifica un elenco di comandi da richiamare in ordine.

Esempio

Le attività seguenti richiamano make.exe quando viene fornito un makefile nella cartella e l'ambiente Mingw64 è stato definito in CppProperties.json, come illustrato in CppProperties.json riferimento allo schema:

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

Queste attività possono essere richiamate dal menu di scelta rapida quando si fa clic con il pulsante destro del mouse su un file .cpp in Esplora soluzioni.

Proprietà remote

Le attività remote vengono abilitate quando si installa lo sviluppo di Linux con il carico di lavoro C++ e si aggiunge una connessione a un computer remoto usando visual Studio Gestione connessioni. Un'attività remota esegue comandi in un sistema remoto e può anche copiare i file in esso.

Quando il tipo di attività è remote, sono disponibili queste proprietà:

Proprietà Type Descrizione
remoteMachineName stringa Nome del computer remoto. Deve corrispondere a un nome di computer in Gestione connessioni.
command string Comando da inviare al computer remoto. Per impostazione predefinita, i comandi vengono eseguiti nella directory $HOME nel sistema remoto.
remoteWorkingDirectory string Directory di lavoro corrente nel computer remoto.
localCopyDirectory string Directory locale da copiare nel computer remoto. Il valore predefinito è la directory di lavoro corrente.
remoteCopyDirectory string Directory nel computer remoto in cui localCopyDirectory viene copiata.
remoteCopyMethod string Metodo da utilizzare per la copia. Valori consentiti: "none", "sftp", "rsync". rsync è consigliato per progetti di grandi dimensioni.
remoteCopySourcesOutputVerbosity string Valori consentiti: "Normal","Verbose","Diagnostic".
rsyncCommandArgs string Il valore predefinito è "-t --delete".
remoteCopyExclusionList array Elenco delimitato da virgole di file in localCopyDirectory da escludere dalle operazioni di copia.

Esempio

L'attività seguente verrà visualizzata nel menu di scelta rapida quando si fa clic con il pulsante destro del mouse su main.cpp in Esplora soluzioni. Dipende da un computer remoto chiamato ubuntu in Gestione connessioni. L'attività copia la cartella aperta corrente in Visual Studio nella sample directory del computer remoto e quindi richiama g++ per compilare il programma.

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

proprietà di MSBuild

Quando il tipo di attività è msbuild, sono disponibili queste proprietà:

Proprietà Type Descrizione
verbosity stringa Specifica i valori dettagliati dell'output della compilazione del progetto MSBuild: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic".
toolsVersion string Specifica la versione del set di strumenti per compilare il progetto, ad esempio "2.0", "3.5", "4.0", "Current". Il valore predefinito è "Current".
globalProperties oggetto Specifica un elenco chiave-valore delle proprietà globali da passare al progetto, ad esempio "Configuration":"Release"
properties oggetto Specifica un elenco chiave-valore di proprietà aggiuntive del progetto.
targets array Specifica l'elenco di destinazioni da richiamare, in ordine, nel progetto. La destinazione predefinita del progetto viene usata se non è specificato alcuno.