Files
clice/.vscode/launch.json
ykiko c697ffcf91 chore(vscode): move dev configs to repo root (#384)
## What changed

This PR moves the shared VS Code development workflow to the repository
root.

It adds repo-level `.vscode/launch.json` and `.vscode/tasks.json` so
contributors can debug `clice` and the VS Code extension from the root
workspace with relative paths.

The checked-in tasks are intentionally limited to extension-side `pnpm`
workflows such as installing dependencies and running the extension
watcher. They do not build the `clice` executable or unit tests.

It also updates `.gitignore` to allow only those two shared VS Code
config files to be committed, while continuing to ignore other local
`.vscode` files.

Finally, it removes the duplicate `editors/vscode/.vscode` folder so
there is a single supported VS Code setup in the repo.

## Why

The previous setup split VS Code configs between local-only root files
and tracked configs under `editors/vscode/.vscode`, which made the
development/debug flow less consistent.

Keeping only extension-side tasks avoids baking a specific native build
workflow into committed editor config while still making extension
development usable out of the box.

## Developer impact

Contributors can now open the repository root in VS Code and use the
checked-in launch/tasks configs directly.

The extension debug configs only disable competing C/C++ language
extensions (`clangd` and `cpptools`) instead of disabling every
extension.

All committed paths remain relative to `${workspaceFolder}`.

## Validation

- Ran `python3 -m json.tool .vscode/launch.json`
- Ran `python3 -m json.tool .vscode/tasks.json`
2026-04-03 23:25:52 +08:00

84 lines
2.5 KiB
JSON

{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug clice",
"program": "${workspaceFolder}/build/Debug/bin/clice",
"args": ["--mode=socket", "--port=50051"],
"cwd": "${workspaceFolder}"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug clice (socket, RelWithDebInfo)",
"program": "${workspaceFolder}/build/RelWithDebInfo/bin/clice",
"args": ["--mode=socket", "--port=50051"],
"cwd": "${workspaceFolder}"
},
{
"name": "VSCode Extension (pipe)",
"type": "extensionHost",
"request": "launch",
"args": [
"--disable-extension=llvm-vs-code-extensions.vscode-clangd",
"--disable-extension=ms-vscode.cpptools",
"--disable-extension=ms-vscode.cpptools-extension-pack",
"--extensionDevelopmentPath=${workspaceFolder}/editors/vscode"
],
"env": {
"CLICE_MODE": "pipe"
},
"outFiles": ["${workspaceFolder}/editors/vscode/dist/**/*.js"],
"preLaunchTask": "npm: watch vscode ext"
},
{
"name": "VSCode Extension (socket)",
"type": "extensionHost",
"request": "launch",
"args": [
"--disable-extension=llvm-vs-code-extensions.vscode-clangd",
"--disable-extension=ms-vscode.cpptools",
"--disable-extension=ms-vscode.cpptools-extension-pack",
"--extensionDevelopmentPath=${workspaceFolder}/editors/vscode"
],
"env": {
"CLICE_MODE": "socket"
},
"outFiles": ["${workspaceFolder}/editors/vscode/dist/**/*.js"],
"preLaunchTask": "npm: watch vscode ext"
},
{
"type": "lldb",
"request": "launch",
"name": "Unit Test",
"program": "${workspaceFolder}/build/Debug/bin/unit_tests",
"args": ["--test-dir=./tests/data", "--test-filter=${input:filter}"],
"cwd": "${workspaceFolder}"
},
{
"type": "lldb",
"request": "launch",
"name": "Release Unit Test",
"program": "${workspaceFolder}/build/RelWithDebInfo/bin/unit_tests",
"args": ["--test-dir=./tests/data", "--test-filter=${input:filter}"],
"cwd": "${workspaceFolder}"
}
],
"compounds": [
{
"name": "clice + VSCode Extension (socket)",
"configurations": ["Debug clice", "VSCode Extension (socket)"],
"stopAll": true
}
],
"inputs": [
{
"id": "filter",
"type": "promptString",
"description": "Unit Test Filter"
}
]
}