| 1 | { |
| 2 | "diffEditor.renderSideBySide": false, |
| 3 | // Point the editor at THIS workspace's pinned typescript@7 install. The |
| 4 | // Effect diagnostics (e.g. `anyUnknownInErrorContext`) come from |
| 5 | // `effect-tsgo patch` (run automatically on install via `prepare`), which |
| 6 | // patches the workspace `node_modules/typescript` binary in place — the |
| 7 | // editor must use the WORKSPACE version or no Effect diagnostics appear. |
| 8 | // Opt in once per machine via Command Palette -> "TypeScript: Select |
| 9 | // TypeScript Version" -> "Use Workspace Version". |
| 10 | // (`enablePromptUseWorkspaceTsdk` below makes the editor prompt for this.) |
| 11 | "typescript.tsdk": "node_modules/typescript/lib", |
| 12 | "typescript.enablePromptUseWorkspaceTsdk": true, |
| 13 | "typescript.preferences.importModuleSpecifier": "relative", |
| 14 | "typescript.preferences.importModuleSpecifierEnding": "ts", |
| 15 | "oxc.enable": true, |
| 16 | "oxc.lint.run": "onSave", |
| 17 | "json.schemaDownload.enable": true, |
| 18 | "editor.defaultFormatter": "oxc.oxc-vscode", |
| 19 | "editor.codeLens": false, |
| 20 | "editor.formatOnSave": true, |
| 21 | "editor.formatOnSaveMode": "file", |
| 22 | "editor.inlayHints.enabled": "offUnlessPressed", |
| 23 | "editor.tabSize": 2, |
| 24 | "editor.indentSize": 2, |
| 25 | "editor.insertSpaces": true, |
| 26 | "editor.codeActionsOnSave": { |
| 27 | "source.fixAll": "explicit", |
| 28 | "source.organizeImports": "explicit" |
| 29 | }, |
| 30 | "[toml]": { |
| 31 | "editor.defaultFormatter": "tamasfe.even-better-toml" |
| 32 | }, |
| 33 | "[json]": { |
| 34 | "editor.defaultFormatter": "vscode.json-language-features" |
| 35 | }, |
| 36 | "[jsonc]": { |
| 37 | "editor.defaultFormatter": "vscode.json-language-features" |
| 38 | }, |
| 39 | "[markdown]": { |
| 40 | "editor.formatOnSave": false, |
| 41 | "editor.defaultFormatter": null |
| 42 | }, |
| 43 | "[mdx]": { |
| 44 | "editor.defaultFormatter": null, |
| 45 | "editor.formatOnSave": false |
| 46 | }, |
| 47 | "files.exclude": { |
| 48 | "**/__pycache__": true, |
| 49 | "**/*.pyc": true, |
| 50 | "packages/alchemy/bin/**/*.d*": true, |
| 51 | "packages/alchemy/bin/**/*.map": true, |
| 52 | }, |
| 53 | // The client watcher feeds the tsgo LSP (workspace/didChangeWatchedFiles); |
| 54 | // every unexcluded change storm forces a session-snapshot clone + program |
| 55 | // update (8-18s on the alchemy projects). Exclude everything that is not a |
| 56 | // program input: agent worktrees (.claude is ~69GB incl. nested |
| 57 | // node_modules), vendored submodules, test logs/tmp bundles, and installs. |
| 58 | "files.watcherExclude": { |
| 59 | "**/submodules/**": true, |
| 60 | "**/.claude/**": true, |
| 61 | "**/.alchemy/**": true, |
| 62 | "**/node_modules/**": true, |
| 63 | "**/.git/**": true |
| 64 | }, |
| 65 | "search.exclude": { |
| 66 | "**/submodules/**": true, |
| 67 | "**/.claude/**": true, |
| 68 | "**/.alchemy/**": true |
| 69 | }, |
| 70 | // Keep the 200MB generated distilled surface out of the auto-import index. |
| 71 | "typescript.preferences.autoImportFileExcludePatterns": [ "**/submodules/**" ], |
| 72 | "[typescript]": { |
| 73 | "editor.indentSize": 2, |
| 74 | "editor.defaultFormatter": "oxc.oxc-vscode" |
| 75 | }, |
| 76 | "[javascript]": { |
| 77 | "editor.indentSize": 2, |
| 78 | "editor.defaultFormatter": "oxc.oxc-vscode" |
| 79 | }, |
| 80 | "[typescriptreact]": { |
| 81 | "editor.indentSize": 2, |
| 82 | "editor.defaultFormatter": "oxc.oxc-vscode" |
| 83 | }, |
| 84 | "[javascriptreact]": { |
| 85 | "editor.indentSize": 2, |
| 86 | "editor.defaultFormatter": "oxc.oxc-vscode" |
| 87 | }, |
| 88 | "oxc.enable.oxfmt": true |
| 89 | } |