blocky/.devcontainer/devcontainer.json

70 lines
2.2 KiB
JSON

{
"name": "blocky development",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu-22.04",
"features": {
"ghcr.io/devcontainers/features/go:1": {},
"ghcr.io/jungaretti/features/make:1": {},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"dockerDashComposeVersion": "v2"
},
"ghcr.io/devcontainers/features/python:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "dnsutils "
}
},
"remoteEnv": {
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}",
"WORKSPACE_FOLDER": "${containerWorkspaceFolder}",
"GENERATE_LCOV": "true"
},
"customizations": {
"vscode": {
"extensions": [
"golang.go",
"esbenp.prettier-vscode",
"yzhang.markdown-all-in-one",
"joselitofilho.ginkgotestexplorer",
"fsevenm.run-it-on",
"markis.code-coverage",
"tooltitudeteam.tooltitude",
"GitHub.vscode-github-actions"
],
"settings": {
"go.lintFlags": [
"--config=${containerWorkspaceFolder}/.golangci.yml",
"--fast"
],
"go.alternateTools": {
"go-langserver": "gopls"
},
"markiscodecoverage.searchCriteria": "**/*.lcov",
"runItOn": {
"commands": [
{
"match": "\\.go$",
"cmd": "${workspaceRoot}/.devcontainer/scripts/runItOnGo.sh ${fileDirname} ${workspaceRoot}"
}
]
},
"[go]": {
"editor.defaultFormatter": "golang.go"
},
"[json][jsonc][github-actions-workflow]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
}
}
}
},
"mounts": [
"type=bind,readonly,source=/etc/localtime,target=/usr/share/host/localtime",
"type=bind,readonly,source=/etc/timezone,target=/usr/share/host/timezone",
"type=volume,source=blocky-pkg_cache,target=/go/pkg"
],
"postCreateCommand": "sudo chmod +x .devcontainer/scripts/*.sh",
"postStartCommand": "sh .devcontainer/scripts/postStart.sh"
}