Přizpůsobení úloh sestavení a ladění pro vývoj open folder
Visual Studio ví, jak spouštět mnoho různých jazyků a základů kódu, ale neví, jak všechno spustit. Pokud jste otevřeli složku kódu v sadě Visual Studio a Visual Studio ví, jak kód spustit, můžete ho spustit hned bez jakékoli další konfigurace.
Pokud základ kódu používá vlastní nástroje sestavení, které Sada Visual Studio nerozpozná, musíte zadat některé podrobnosti konfigurace pro spuštění a ladění kódu v sadě Visual Studio. Dáte sadě Visual Studio pokyn, jak sestavit kód definováním úloh sestavení. Můžete vytvořit jednu nebo více úloh sestavení, které určují všechny položky, které jazyk potřebuje k sestavení a spuštění jeho kódu. Můžete také vytvořit libovolné úkoly, které můžou dělat téměř cokoli, co chcete. Můžete například vytvořit úkol pro výpis obsahu složky nebo přejmenování souboru.
Přizpůsobte základ kódu bez projektu pomocí následujících souborů .json :
Název souboru | Účel |
---|---|
tasks.vs.json | Zadejte vlastní příkazy sestavení a přepínače kompilátoru a libovolné úlohy (nesouvisejí s sestavením). Přístup prostřednictvím položky nabídky Průzkumník řešení po kliknutí pravým tlačítkem myši Konfigurovat úkoly. |
launch.vs.json | Zadejte argumenty příkazového řádku pro ladění. Přístup prostřednictvím položkynabídky Průzkumník řešení po kliknutí pravým tlačítkem myši Debug and Launch Nastavení. |
Tyto soubory .json se nacházejí ve skryté složce s názvem .vs v kořenové složce základu kódu. Soubory tasks.vs.json a launch.vs.json vytváří Visual Studio podle potřeby, když v Průzkumník řešení zvolíte konfigurace úloh nebo ladění a spuštění Nastavení. Tyto soubory .json jsou skryté, protože uživatelé obvykle nechtějí kontrolovat jejich správu zdrojového kódu. Pokud je ale chcete zkontrolovat do správy zdrojového kódu, přetáhněte soubory do kořenového adresáře základu kódu pomocí systému souborů, kde jsou pak viditelné v Průzkumník řešení a ke správě zdrojového kódu.
Tip
Pokud chcete zobrazit skryté soubory v sadě Visual Studio, zvolte na panelu nástrojů Průzkumník řešení tlačítko Zobrazit všechny soubory.
Definování úloh pomocí tasks.vs.json
Skripty sestavení nebo jakékoli jiné externí operace se soubory, které máte v aktuálním pracovním prostoru, můžete automatizovat tak, že je spustíte jako úkoly přímo v integrovaném vývojovém prostředí( IDE). Nový úkol můžete nakonfigurovat tak, že kliknete pravým tlačítkem na soubor nebo složku a vyberete Konfigurovat úkoly.
Tím se vytvoří (nebo otevře) soubor tasks.vs.json ve složce .vs . V tomto souboru můžete definovat úlohu sestavení nebo libovolnou úlohu a potom ji vyvolat pomocí názvu, který jste mu dali z nabídky Průzkumník řešení po kliknutí pravým tlačítkem myši.
Vlastní úkoly lze přidat do jednotlivých souborů nebo do všech souborů určitého typu. Například soubory balíčků NuGet lze nakonfigurovat tak, aby měly úlohu "Obnovit balíčky" nebo všechny zdrojové soubory lze nakonfigurovat tak, aby měly úlohu statické analýzy, například linter pro všechny soubory .js .
Definování vlastních úloh sestavení
Pokud váš základ kódu používá vlastní nástroje sestavení, které Visual Studio nerozpozná, nemůžete kód spustit a ladit v sadě Visual Studio, dokud nedokončíte některé kroky konfigurace. Visual Studio poskytuje úlohy sestavení, ve kterých můžete sadě Visual Studio sdělit, jak sestavit, znovu sestavit a vyčistit kód. Soubor úloh sestavení tasks.vs.json páruje vnitřní smyčku vývoje sady Visual Studio k vlastním nástrojům sestavení používaným vaším základem kódu.
Představte si základ kódu, který se skládá z jednoho souboru C# s názvem hello.cs. Soubor pravidel pro takový základ kódu může vypadat takto:
build: directory hello.exe
hello.exe: hello.cs
csc -debug hello.cs /out:bin\hello.exe
clean:
del bin\hello.exe bin\hello.pdb
rebuild: clean build
directory: bin
bin:
md bin
Pro takový soubor pravidel, který obsahuje cíle sestavení, vyčištění a opětovného sestavení, můžete definovat následující soubor tasks.vs.json. Obsahuje tři úlohy sestavení pro sestavení, opětovné sestavení a vyčištění základu kódu pomocí nástroje NMAKE jako nástroje sestavení.
{
"version": "0.2.1",
"outDir": "\"${workspaceRoot}\\bin\"",
"tasks": [
{
"taskName": "makefile-build",
"appliesTo": "makefile",
"type": "launch",
"contextType": "build",
"command": "nmake",
"args": [ "build" ],
"envVars": {
"VSCMD_START_DIR": "\"${workspaceRoot}\""
}
},
{
"taskName": "makefile-clean",
"appliesTo": "makefile",
"type": "launch",
"contextType": "clean",
"command": "nmake",
"args": [ "clean" ],
"envVars": {
"VSCMD_START_DIR": "\"${workspaceRoot}\""
}
},
{
"taskName": "makefile-rebuild",
"appliesTo": "makefile",
"type": "launch",
"contextType": "rebuild",
"command": "nmake",
"args": [ "rebuild" ],
"envVars": {
"VSCMD_START_DIR": "\"${workspaceRoot}\""
}
}
]
}
Po definování úloh sestavení v tasks.vs.json se do odpovídajících souborů v Průzkumník řešení přidají další položky místní nabídky (místní nabídka). V tomto příkladu se do místní nabídky všech souborů pravidel přidají možnosti sestavení, opětovné sestavení a vyčištění.
Poznámka:
Příkazy se zobrazí v místní nabídce pod příkazem Konfigurovat úkoly kvůli jejich contextType
nastavení. "build", "rebuild" a "clean" jsou příkazy sestavení, takže se zobrazí v části sestavení uprostřed místní nabídky.
Když vyberete jednu z těchto možností, úloha se spustí. Výstup se zobrazí v okně Výstup a chyby sestavení se zobrazí v seznamu chyb.
Definování libovolných úkolů
V souboru tasks.vs.json můžete definovat libovolné úkoly, abyste udělali cokoliv, co chcete. Můžete například definovat úlohu, která zobrazí název aktuálně vybraného souboru v okně Výstup nebo zobrazí seznam souborů v zadaném adresáři.
Následující příklad ukazuje soubor tasks.vs.json , který definuje jeden úkol. Při vyvolání úloha zobrazí název souboru aktuálně vybraného souboru .js .
{
"version": "0.2.1",
"tasks": [
{
"taskName": "Echo filename",
"appliesTo": "*.js",
"type": "default",
"command": "${env.COMSPEC}",
"args": [ "echo ${file}" ]
}
]
}
taskName
určuje název, který se zobrazí v nabídce po kliknutí pravým tlačítkem myši.appliesTo
určuje, se kterými soubory lze příkaz provést.- Vlastnost
command
určuje příkaz, který se má vyvolat. V tomto příkladuCOMSPEC
se proměnná prostředí používá k identifikaci interpreta příkazového řádku, obvykle cmd.exe. - Vlastnost
args
určuje argumenty, které mají být předány do vyvolaného příkazu. - Makro
${file}
načte vybraný soubor v Průzkumník řešení.
Po uložení tasks.vs.json můžete kliknout pravým tlačítkem myši na libovolný soubor .js ve složce a zvolit název souboru Echo. Název souboru se zobrazí v okně Výstup .
Poznámka:
Pokud základ kódu neobsahuje soubor tasks.vs.json, můžete ho vytvořit tak, že v místní nabídce souboru v Průzkumník řešení zvolíte Konfigurovat úkoly.
Další příklad definuje úlohu, která zobrazí seznam souborů a podsložek adresáře bin .
{
"version": "0.2.1",
"outDir": "\"${workspaceRoot}\\bin\"",
"tasks": [
{
"taskName": "List Outputs",
"appliesTo": "*",
"type": "default",
"command": "${env.COMSPEC}",
"args": [ "dir ${outDir}" ]
}
]
}
${outDir}
je vlastní makro, které je nejprve definováno před blokemtasks
. Potom se volá veargs
vlastnosti.
Tato úloha se vztahuje na všechny soubory. Když otevřete místní nabídku v libovolném souboru v Průzkumník řešení, zobrazí se v dolní části nabídky výstupy seznamu názvů úkolu. Když zvolíte Výpis výstupů, obsah adresáře bin se zobrazí v okně Výstup v sadě Visual Studio.
rozsah Nastavení
V kořenovém adresáři a podadresáři základu kódu může existovat více souborů tasks.vs.json . Tento návrh umožňuje flexibilitu mít různé chování v různých podadresářích základu kódu. Visual Studio agreguje nebo přepíše nastavení v rámci základu kódu a určuje prioritu souborů v následujícím pořadí:
- Nastavení soubory v adresáři .vs kořenové složky.
- Adresář, ve kterém se počítá nastavení.
- Nadřazený adresář aktuálního adresáře až do kořenového adresáře.
- Nastavení soubory v kořenovém adresáři.
Tato pravidla agregace platí pro tasks.vs.json. Informace o agregaci nastavení v jiném souboru najdete v příslušné části tohoto souboru v tomto článku.
Vlastnosti pro tasks.vs.json
Tato část popisuje některé vlastnosti, které můžete zadat v tasks.vs.json.
appliesTo
Úkoly pro libovolný soubor nebo složku můžete vytvořit zadáním jeho názvu do appliesTo
pole, například "appliesTo": "hello.js"
. Jako hodnoty lze použít následující masky souborů:
Maska souboru | Popis |
---|---|
"*" |
úkol je k dispozici pro všechny soubory a složky v pracovním prostoru. |
"*/" |
úkol je k dispozici pro všechny složky v pracovním prostoru. |
"*.js" |
úkol je k dispozici pro všechny soubory s příponou .js v pracovním prostoru. |
"/*.js" |
Úloha je k dispozici pro všechny soubory s příponou .js v kořenovém adresáři pracovního prostoru. |
"src/*/" |
úkol je k dispozici pro všechny podsložky složky src . |
"makefile" |
úkol je k dispozici pro všechny soubory souboru pravidel v pracovním prostoru. |
"/makefile" |
Úkol je k dispozici pouze pro soubor pravidel v kořenovém adresáři pracovního prostoru. |
Makra pro tasks.vs.json
Makro | Popis |
---|---|
${env.<VARIABLE>} |
Určuje libovolnou proměnnou prostředí (například ${env. PATH}, ${env. COMSPEC} a tak dále), který je nastavený pro příkazový řádek vývojáře. Další informace najdete v tématu Developer Command Prompt a Developer PowerShell. |
${workspaceRoot} |
Úplná cesta ke složce pracovního prostoru (například C:\sources\hello) |
${file} |
Úplná cesta k souboru nebo složce vybrané ke spuštění této úlohy (například C:\sources\hello\src\hello.js) |
${relativeFile} |
Relativní cesta k souboru nebo složce (například src\hello.js) |
${fileBasename} |
Název souboru bez cesty nebo přípony (například hello) |
${fileDirname} |
Úplná cesta k souboru s výjimkou názvu souboru (například C:\sources\hello\src) |
${fileExtname} |
Přípona vybraného souboru (například .js) |
Konfigurace ladění pomocí launch.vs.json
Pokud chcete nakonfigurovat projekty CMake pro ladění, přečtěte si téma Konfigurace ladicích relací CMake.
Chcete-li nakonfigurovat základ kódu pro ladění, v Průzkumník řešení zvolte položku nabídky Ladit a Spustit Nastavení z místní nabídky nebo místní nabídky spustitelného souboru.
V dialogovém okně Vybrat ladicí program zvolte možnost a pak zvolte tlačítko Vybrat .
Pokud soubor launch.vs.json ještě neexistuje, vytvoří se.
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "bin\\hello.exe", "name": "hello.exe" } ] }
Potom klikněte pravým tlačítkem na spustitelný soubor v Průzkumník řešení a zvolte Nastavit jako spouštěcí položku.
Spustitelný soubor je určen jako spouštěcí položka základu kódu a název tlačítka Start ladění se změní tak, aby odrážel název spustitelného souboru.
Když zvolíte F5, ladicí program se spustí a zastaví na libovolné zarážce, kterou jste už možná nastavili. Všechna známá okna ladicího programu jsou dostupná a funkční.
Důležité
Další podrobnosti o vlastních úlohách sestavení a ladění v projektech otevřených složek jazyka C++ najdete v tématu Podpora open folder pro systémy sestavení C++ v sadě Visual Studio.
Zadání argumentů pro ladění
Do souboru launch.vs.json můžete zadat argumenty příkazového řádku, které se mají předat pro ladění. Přidejte do pole argumenty, jak je znázorněno v následujícím příkladu args
:
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "default",
"project": "bin\\hello.exe",
"name": "hello.exe"
},
{
"type": "default",
"project": "bin\\hello.exe",
"name": "hello.exe a1",
"args": [ "a1" ]
}
]
}
Při uložení tohoto souboru se název nové konfigurace zobrazí v rozevíracím seznamu cíle ladění a můžete ho vybrat a spustit ladicí program. Můžete vytvořit libovolný počet konfigurací ladění.
Poznámka:
Vlastnost pole ve souboru launch.vs.json se načítá ze dvou umístění souborů – kořenového adresáře pro základ kódu a adresáře .vs.configurations
Pokud dojde ke konfliktu, priorita se přidělí hodnotě v souboru .vs\launch.vs.json.
Další soubory nastavení
Kromě tří souborů .json popsaných v tomto tématu sada Visual Studio také čte nastavení z některých dalších souborů, pokud existují v základu kódu.
.vscode\settings.json
Visual Studio čte omezená nastavení ze souboru s názvem settings.json, pokud je v adresáři s názvem .vscode. Tato funkce je poskytována pro základy kódu, které byly dříve vyvinuty v editoru Visual Studio Code. V současné době je jediným nastavením, které je přečteno z souboru .vscode\settings.jsonfiles.exclude
, které filtruje soubory vizuálně v Průzkumník řešení a z některých vyhledávacích nástrojů.
V základu kódu můžete mít libovolný počet souborů .vscode\settings.json . Nastavení čtení z tohoto souboru se použijí na nadřazený adresář .vscode a všechny jeho podadresáře.
.gitignore
Soubory .gitignore slouží k tomu, aby Gitu řekl, které soubory se mají ignorovat. To znamená, které soubory a adresáře nechcete vrátit se změnami. Soubory .gitignore jsou obvykle součástí základu kódu, aby bylo možné nastavení sdílet se všemi vývojáři základu kódu. Visual Studio čte vzory v souborech .gitignore za účelem vizuálního filtrování položek a z některých vyhledávacích nástrojů.
Nastavení čtení ze souboru .gitignore se použijí na nadřazený adresář a všechny podadresáře.
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro