2022/06/30

メモ:競プロ用に使っているVSCode Remote WSL の tasks.json と launch.json

VSCodeは、remote WSL で WSLに繋ぐ。
workspaceは WSL の中の、/home/myname/atcoder/ 。
tasks.json と launch.json はさらにその中の .vscode/ の中。

tasks.json
デバッグ用の実行形式は a.dbg

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "/usr/bin/g++",
            "args": [
                "-std=gnu++17",
                "-g",
               "-O0",
                "-o",
                "${workspaceFolder}/a.dbg",
                "${file}",
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "options":{
            },
            "problemMatcher": ["$gcc"],
            "presentation": {
                "close": false,
                "echo": true,
                "reveal": "silent",
                "focus": true,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}


launch.json
[F5]で、上で作った a.dbg に、in.txt を標準入力で入れる。
in.txt に sample をコピペして [F5] を押せば、そのままサンプル実行できる。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "remote WSL gdb",
            "type": "cppdbg",
            "request": "launch",
            "program": "a.dbg",
            "args": [
                "<",
                "in.txt"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/",
            "environment": [],
            "externalConsole": true,
            "pipeTransport": {
                "pipeCwd": "/",
                "pipeProgram": "bash",
                "pipeArgs": ["-c"],
                "debuggerPath": "/usr/bin/gdb"
            },
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        }
    ]
}

0 件のコメント: