{ "emeraldwalk.runonsave": { "commands": [ { "match": "database/queries/*.sql", "cmd": "make gen" }, { "match": "provisionerd/proto/provisionerd.proto", "cmd": "make provisionerd/proto/provisionerd.pb.go" } ] }, "search.exclude": { "**.pb.go": true, "**/*.gen.json": true, "**/testdata/*": true, "coderd/apidoc/**": true, "docs/reference/api/*.md": true, "docs/reference/cli/*.md": true, "docs/templates/*.md": true, "LICENSE": true, "scripts/metricsdocgen/metrics": true, "site/out/**": true, "site/storybook-static/**": true, "**.map": true, "pnpm-lock.yaml": true }, // Ensure files always have a newline. "files.insertFinalNewline": true, "go.lintTool": "golangci-lint", "go.lintFlags": ["--fast"], "go.coverageDecorator": { "type": "gutter", "coveredGutterStyle": "blockgreen", "uncoveredGutterStyle": "blockred" }, // The codersdk is used by coderd another other packages extensively. // To reduce redundancy in tests, it's covered by other packages. // Since package coverage pairing can't be defined, all packages cover // all other packages. "go.testFlags": ["-short", "-coverpkg=./..."], // We often use a version of TypeScript that's ahead of the version shipped // with VS Code. "typescript.tsdk": "./site/node_modules/typescript/lib", // Playwright tests in VSCode will open a browser to live "view" the test. "playwright.reuseBrowser": true, "[javascript][javascriptreact][json][jsonc][typescript][typescriptreact]": { "editor.defaultFormatter": "biomejs.biome", "editor.codeActionsOnSave": { "source.fixAll.biome": "explicit" // "source.organizeImports.biome": "explicit" } }, "tailwindCSS.classFunctions": ["cva", "cn"], "[css][html][markdown][yaml]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "typos.config": ".github/workflows/typos.toml", "[markdown]": { "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" }, "biome.lsp.bin": "site/node_modules/.bin/biome", // Prefer type only imports. "typescript.preferences.preferTypeOnlyAutoImports": true, // Prefer aliased/non-relative imports (e.g. "#/...") over "../../...". "typescript.preferences.importModuleSpecifier": "non-relative", "javascript.preferences.importModuleSpecifier": "non-relative", // We discourage people from various older libraries that // are no longer recommended/being migrated from. "typescript.preferences.autoImportSpecifierExcludeRegexes": [ // discourage people from using MUI components "^@mui(?:/.*)?$", // discourage people from using Emotion CSS "^@emotion(?:/.*)?$", // we prefer people use `lodash/foo` over `lodash` "^lodash$" ] }