Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voeg een tasks.vs.json-bestand toe om Visual Studio te vertellen hoe u in een Open Folder-project uw broncode bouwt. U kunt hier willekeurige taken definiëren en deze vervolgens aanroepen vanuit het contextmenu van Solution Explorer . CMake-projecten gebruiken dit bestand niet omdat alle buildopdrachten zijn opgegeven in CMakeLists.txt. Voor andere buildsystemen dan CMake, tasks.vs.json kunt u buildopdrachten opgeven en buildscripts aanroepen. Voor algemene informatie over het gebruik van tasks.vs.json, zie Build- en foutopsporingstaken aanpassen voor "Map openen" ontwikkeling.
Een taak heeft een type eigenschap die een van de vier waarden kan hebben: default, launch, remoteof msbuild. De meeste taken moeten launch gebruiken, tenzij een externe verbinding vereist is.
Standaardeigenschappen
De standaardeigenschappen zijn beschikbaar voor alle typen taken:
| Vastgoed | Typologie | Beschrijving |
|---|---|---|
taskLabel |
touw | (Vereist.) Hiermee geeft u het taaklabel op dat in de gebruikersinterface wordt gebruikt. |
appliesTo |
touw | (Vereist.) Hiermee geeft u op op welke bestanden de opdracht kan worden uitgevoerd. Het gebruik van jokertekens wordt ondersteund, bijvoorbeeld: "", ".cpp", "/*.txt" |
contextType |
touw | Toegestane waarden: 'custom', 'build', 'clean', 'rebuild'. Bepaalt waar in het contextmenu de taak wordt weergegeven. Standaard ingesteld op 'aangepast'. |
output |
touw | Hiermee geeft u een uitvoertag voor uw taak op. |
inheritEnvironments |
gegevensreeks | Hiermee geeft u een set omgevingsvariabelen die zijn overgenomen van meerdere bronnen. U kunt variabelen definiëren in bestanden zoals CMakeSettings.json of CppProperties.json en deze beschikbaar maken voor de taakcontext.
Visual Studio 16.4:: geef omgevingsvariabelen per taak op met behulp van de env.VARIABLE_NAME syntaxis. Als u een variabele wilt opheffen, stelt u deze in op 'null'. |
passEnvVars |
booleaan | Hiermee geeft u op of er aanvullende omgevingsvariabelen moeten worden opgenomen in de taakcontext. Deze variabelen verschillen van de variabelen die zijn gedefinieerd met behulp van de envVars eigenschap. De standaardwaarde is 'true'. |
Eigenschapsmenu openen
Wanneer het taaktype is launch, zijn deze eigenschappen beschikbaar:
| Vastgoed | Typologie | Beschrijving |
|---|---|---|
command |
touw | Hiermee geeft u het volledige pad op van het proces of script om te starten. |
args |
gegevensreeks | Hiermee geeft u een door komma's gescheiden lijst met argumenten die aan de opdracht worden doorgegeven. |
launchOption |
touw | Toegestane waarden: "None", "ContinueOnError","IgnoreError". Hiermee geeft u op hoe u doorgaat met de opdracht wanneer er fouten zijn. |
workingDirectory |
touw | Hiermee geeft u de map waarin de opdracht wordt uitgevoerd. De standaardinstelling is de huidige werkmap van het project. |
customLaunchCommand |
touw | Specificeert een aanpassing van de globale scope die moet worden toegepast voordat u de opdracht uitvoert. Handig voor het instellen van omgevingsvariabelen zoals %PATH%. |
customLaunchCommandArgs |
touw | Hiermee geeft u argumenten aan customLaunchCommand. (Vereist customLaunchCommand.) |
env |
Hiermee geeft u een lijst met sleutelwaarden van aangepaste omgevingsvariabelen. Bijvoorbeeld 'myEnv': 'myVal' | |
commands |
gegevensreeks | Hiermee geeft u een lijst met opdrachten die in volgorde moeten worden aangeroepen. |
Voorbeeld
De volgende taken roepen make.exe aan wanneer een makefile wordt opgegeven in de map en de Mingw64 omgeving is gedefinieerd in CppProperties.json, zoals wordt weergegeven in CppProperties.json schemareferentie:
{
"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"]
}
]
}
Deze taken kunnen worden aangeroepen vanuit het contextmenu wanneer u met de rechtermuisknop op een .cpp bestand in Solution Explorer klikt.
Eigenschappen op afstand
Externe taken worden ingeschakeld wanneer u de Linux-ontwikkeling met C++-werkbelasting installeert en een verbinding met een externe machine toevoegt met behulp van Visual Studio Connection Manager. Een externe taak voert opdrachten uit op een extern systeem en kan er ook bestanden naar kopiëren.
Wanneer het taaktype is remote, zijn deze eigenschappen beschikbaar:
| Vastgoed | Typologie | Beschrijving |
|---|---|---|
remoteMachineName |
touw | De naam van de externe computer. Moet overeenkomen met een computernaam in Verbindingsbeheer. |
command |
touw | De opdracht om naar de externe computer te verzenden. Standaard worden opdrachten uitgevoerd in de $HOME map op het externe systeem. |
remoteWorkingDirectory |
touw | De huidige werkmap op de externe computer. |
localCopyDirectory |
touw | De lokale map die moet worden gekopieerd naar de externe computer. Standaard ingesteld op de huidige werkmap. |
remoteCopyDirectory |
touw | De map op de externe computer waarnaar localCopyDirectory wordt gekopieerd. |
remoteCopyMethod |
touw | De methode die moet worden gebruikt voor het kopiëren. Toegestane waarden: 'none', 'sftp', 'rsync'. rsync wordt aanbevolen voor grote projecten. |
remoteCopySourcesOutputVerbosity |
touw | Toegestane waarden: "Normaal", "Uitgebreid", "Diagnostisch". |
rsyncCommandArgs |
touw | De standaardwaarde is '-t --delete'. |
remoteCopyExclusionList |
gegevensreeks | Komma-gescheiden lijst van bestanden in localCopyDirectory om uit te sluiten van kopieerbewerkingen. |
Voorbeeld
De volgende taak wordt weergegeven in het contextmenu wanneer u met de rechtermuisknop op main.cpp klikt in Solution Explorer. Dit is afhankelijk van een externe computer die wordt aangeroepen ubuntu in Verbindingsbeheer. De taak kopieert de huidige geopende map in Visual Studio naar de sample map op de externe computer en roept vervolgens g++ aan om het programma te bouwen.
{
"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-eigenschappen
Wanneer het taaktype is msbuild, zijn deze eigenschappen beschikbaar:
| Vastgoed | Typologie | Beschrijving |
|---|---|---|
verbosity |
touw | Hiermee geeft u de MSBuild projectbuilduitvoer met de volgende toegestane waarden voor detailniveau: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic". |
toolsVersion |
touw | Hiermee geeft u de hulpprogrammasetversie op voor het bouwen van het project, bijvoorbeeld '2.0', '3.5', '4.0', 'Current'. De standaardwaarde is 'Huidig'. |
globalProperties |
Voorwerp | Hiermee geeft u een lijst met sleutelwaarden op van de globale eigenschappen die moeten worden doorgegeven aan het project, bijvoorbeeld 'Configuratie':'Release' |
properties |
Voorwerp | Hiermee geeft u een sleutel-waarde lijst op van alleen aanvullende eigenschappen die bij het project horen. |
targets |
gegevensreeks | Hiermee specificeert u de lijst met doelen die achtereenvolgens binnen het project moeten worden aangeroepen. Het standaarddoel van het project wordt gebruikt als er geen is opgegeven. |