Condividi tramite


Riferimenti allo 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 sono 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à Digita Description
taskLabel stringa (Obbligatorio).) Specifica l'etichetta dell'attività utilizzata nell'interfaccia utente.
appliesTo stringa (Obbligatorio).) Specifica i file su cui è possibile eseguire il comando. L'uso dei caratteri jolly è supportato, ad esempio: "", ".cpp", "/*.txt"
contextType stringa Valori consentiti: "custom", "build", "clean", "rebuild". Determina dove verrà visualizzata l'attività nel menu di scelta rapida. L'impostazione predefinita è "personalizzata".
output stringa 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 CMake Impostazioni.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à Digita Description
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 stringa Valori consentiti: "None", "ContinueOnError","IgnoreError". Specifica come procedere con il comando in caso di errori.
workingDirectory stringa Specifica la directory in cui verrà eseguito il comando. Il valore predefinito è la directory di lavoro corrente del progetto.
customLaunchCommand stringa Specifica una personalizzazione dell'ambito globale da applicare prima di eseguire il comando. Utile per l'impostazione di variabili di ambiente come %PATH%.
customLaunchCommandArgs stringa 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 nel riferimento allo schema 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"]
    }
  ]
}

Queste attività possono essere richiamate dal menu di scelta rapida quando si fa clic con il pulsante destro del mouse su un file con estensione 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à Digita Description
remoteMachineName stringa Nome del computer remoto. Deve corrispondere a un nome di computer in Gestione connessioni.
command stringa Comando da inviare al computer remoto. Per impostazione predefinita, i comandi vengono eseguiti nella directory $HOME nel sistema remoto.
remoteWorkingDirectory stringa Directory di lavoro corrente nel computer remoto.
localCopyDirectory stringa Directory locale da copiare nel computer remoto. Il valore predefinito è la directory di lavoro corrente.
remoteCopyDirectory stringa Directory nel computer remoto in cui localCopyDirectory viene copiata.
remoteCopyMethod stringa Metodo da utilizzare per la copia. Valori consentiti: "none", "sftp", "rsync". rsync è consigliato per progetti di grandi dimensioni.
remoteCopySourcesOutputVerbosity stringa Valori consentiti: "Normal","Verbose","Diagnostic".
rsyncCommandArgs stringa 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à Digita Description
verbosity stringa Specifica i valori dettagliati dell'output della compilazione del progetto MSBuild: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic".
toolsVersion stringa 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.