ladybird/.devcontainer/devcontainer.json
Andrew Kaster c4f7361a5b Meta: Add a vcpkg cache to the devcontainer
This also means that the prebuilt devcontainer will have a populated
vcpkg binary cache, speeding up the first build by a lot.
2024-10-14 15:55:23 -06:00

82 lines
3.1 KiB
JSON

{
"name": "Ladybird",
"image": "mcr.microsoft.com/devcontainers/base:noble",
// Features to add to the dev container. More info: https://containers.dev/implementors/features.
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers-contrib/features/pre-commit:2": {},
"./features/ladybird": {
"llvm_version": 18
},
"./features/vcpkg-cache": {
"release_triplet": true,
// FIXME: Figure out how to have the CI prebuilt version set both of these true
"debug_triplet": false,
"sanitizer_triplet": false
},
"ghcr.io/devcontainers/features/desktop-lite": {
"password": "vscode",
"webPort": "6080",
"vncPort": "5901"
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
6080,
5901
],
"portsAttributes": {
"5901": {
"label": "VNC"
},
"6080": {
"label": "Web VNC"
}
},
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "pre-commit install; pre-commit install --hook-type commit-msg",
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cmake-tools",
"llvm-vs-code-extensions.vscode-clangd",
"eamodio.gitlens"
],
"settings": {
// Excluding the generated directories keeps your file view clean and speeds up search.
"files.exclude": {
"**/.git": true,
"Toolchain/Local/**": true,
"Toolchain/Tarballs/**": true,
"Toolchain/Build/**": true,
"Build/**": true
},
"search.exclude": {
"**/.git": true,
"Toolchain/Local/**": true,
"Toolchain/Tarballs/**": true,
"Toolchain/Build/**": true,
"Build/**": true
},
// Tab settings
"editor.tabSize": 4,
"editor.useTabStops": false,
// format trailing new lines
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
// git commit message length
"git.inputValidationLength": 72,
"git.inputValidationSubjectLength": 72,
// If clangd was obtained from a package manager, its path can be set here.
// Note: This has to be adjusted manually, to the "llvm_version" from above
"clangd.path": "clangd-18",
"clangd.arguments": [
"--header-insertion=never" // See https://github.com/clangd/clangd/issues/1247
]
}
}
}
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root",
}