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
, remote
o 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. |