Warning
This page is located in archive.

VS Code - Úprava souboru tasks.json

Ve VS Code je pro automatické sestaveni programu vytvořen soubor tasks.json, který v základu po vytvoření používá k překladu pouze aktuální otevřený soubor. Častokrát je ovšem žádoucí program spustit z jakéhokoliv místa (souboru) v daném projektu nebo aby obsahoval více než jeden spustitelný soubor. K tomu je třeba upravit soubor tasks.json.

Úpravy kódu

Na následujících řádcích je vidět, že se jedná o základní soubor tasks.json a je možné udělat následující úpravy:

  1. “command” = se odkazuje na překladač daného jazyka, lze měnit v případě potřeby (např. špatný nebo jiný než se požaduje)
  2. “args” = pole argumentů, které se vkládají do příkazové řádky (zde je třeba vložit na konec pole všechny zdrojové soubory, které jsou třeba k překladu)
    • “{file}” = je zdrojový soubor, který je aktuálně vybraný (vhodné nahradit)
    • “{fileBasenameNoExtension}” = název souboru bez koncovky → název spustitelného souboru (doporučuji přejmenovat na název aplikace)

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ]
}

Upravený tasks.json

Kompilace souborů main.cpp, file1.cpp a file2.cpp. Výsledná aplikace se jmenuje aplikace.exe

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "-o",
                "${fileDirname}\\aplikace.exe",
                "main.cpp",
                "file1.cpp",
                "file2.cpp"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ]
}

courses/b2b99ppc/howtos/vscode_tasks_json.txt · Last modified: 2022/02/23 19:59 by nentvond