diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..dda175b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,102 @@ +{ + "name": "kube-switcher", + "image": "mcr.microsoft.com/devcontainers/go:1.22-bookworm", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {}, + "ghcr.io/audacioustux/devcontainers/taskfile:1": {}, + "ghcr.io/devcontainers/features/kubectl-helm-minikube": {}, + "ghcr.io/dhoeric/features/k9s:1": {}, + "ghcr.io/devcontainers/features/github-cli:1": {} + }, + "remoteUser": "vscode", + "containerUser": "vscode", + "updateRemoteUserUID": true, + "customizations": { + "vscode": { + "extensions": [ + "golang.go", + "aaron-bond.better-comments", + "ms-azuretools.vscode-docker", + "davidanson.vscode-markdownlint", + "albert.TabOut", + "mhutchie.git-graph", + "bierner.emojisense", + "redhat.vscode-yaml", + "pkief.material-icon-theme", + "task.vscode-task", + "GitHub.copilot", + "foxundermoon.shell-format", + "DavidAnson.vscode-markdownlint" + ], + "settings": { + "editor.fontFamily": "Cascadia Code", + "editor.fontSize": 14, + "editor.fontLigatures": true, + "editor.cursorBlinking": "phase", + "editor.bracketPairColorization.enabled": true, + "editor.bracketPairColorization.independentColorPoolPerBracketType": true, + "editor.guides.bracketPairs": true, + "editor.guides.bracketPairsHorizontal": true, + "editor.guides.highlightActiveBracketPair": true, + "editor.hover.delay": 500, + "editor.renderWhitespace": "boundary", + "editor.rulers": [ + 150, + 200 + ], + "editor.stickyScroll.enabled": false, + "explorer.autoReveal": false, + "files.associations": { + "**/*.json5": "jsonc" + }, + "files.trimTrailingWhitespace": true, + "editor.formatOnSave": true, + "files.autoSave": "afterDelay", + "files.autoSaveDelay": 1000, + "workbench.iconTheme": "material-icon-theme", + "[json]": { + "editor.defaultFormatter": "vscode.json-language-features", + "editor.insertSpaces": true, + "editor.tabSize": 2, + "editor.quickSuggestions": { + "strings": true + }, + "editor.suggest.insertMode": "replace" + }, + "[yaml]": { + "editor.defaultFormatter": "redhat.vscode-yaml", + "editor.insertSpaces": true, + "editor.tabSize": 2, + "editor.autoIndent": "keep", + "editor.quickSuggestions": { + "other": true, + "comments": false, + "strings": true + } + }, + "[go]": { + "editor.defaultFormatter": "golang.go", + "editor.insertSpaces": false, + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": "always" + } + }, + "[shellscript]": { + "editor.defaultFormatter": "foxundermoon.shell-format", + "files.eol": "\n" + }, + "[markdown]": { + "editor.defaultFormatter": "DavidAnson.vscode-markdownlint", + "editor.wordWrap": "on" + }, + "[dockerfile]": { + "editor.defaultFormatter": "ms-azuretools.vscode-docker", + "editor.quickSuggestions": { + "strings": true + } + } + } + } + } +} \ No newline at end of file