Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions engineering/ide/.vscode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,26 @@ descriptions of the information:
used in any rails project. (More
Information)[https://rahul-arora.medium.com/debugging-ruby-on-rails-server-in-vs-code-819b45113e78]

## Settings Sync — extensions are dotfiles-owned (do this on every machine)

**This repo is the single source of truth for extensions** — the `extensions*.txt` lists,
installed by `onboarding_bin/vscode-install-extensions-*.sh`. VS Code **Settings Sync is NOT**.

Settings Sync will silently add / remove / enable / disable extensions to match another machine
or an older cloud snapshot. On **2026-08-11** it uninstalled `dbaeumer.vscode-eslint` and
`esbenp.prettier-vscode` here, silently breaking lint and format-on-save. To keep dotfiles
authoritative:

1. **Turn the Extensions resource OFF in Settings Sync — on every machine.** There is no
`settings.json` key for this; it is UI-only:
Command Palette → **Settings Sync: Configure…** → uncheck **Extensions**.
2. `settings.json` → `settingsSync.ignoredExtensions` lists the core dev tools (eslint, prettier,
stylelint, shell-format) as a per-extension safety net — no wildcard is supported, so it can
only protect named extensions, which is why step 1 is the real fix.

Settings / Keybindings / Snippets are also symlinked from this repo, so consider turning those
Sync resources off too if you want dotfiles fully authoritative.

## Extensions

*Needs to be cross checked with extensions_base.txt and updated for 2023*
Expand Down
16 changes: 0 additions & 16 deletions engineering/ide/.vscode/extensions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ cpylua.language-postcss
davidanson.vscode-markdownlint
dbaeumer.vscode-eslint
deque-systems.vscode-axe-linter
dsznajder.es7-react-js-snippets
eamodio.gitlens
equimper.react-native-react-redux
esbenp.prettier-vscode
exiasr.hadolint
firsttris.vscode-jest-runner
Expand All @@ -26,25 +24,16 @@ foxundermoon.shell-format
github.codespaces
github.vscode-github-actions
github.vscode-pull-request-github
gluca.log-view-l4n
h501cloud.html-email-preview
htmlhint.vscode-htmlhint
ibm.output-colorizer
jmfirth.vsc-space-block-jumper
jmrog.vscode-nuget-package-manager
johnpapa.angular-essentials
johnpapa.angular2
johnpapa.vscode-peacock
johnpapa.winteriscoming
koichisasada.vscode-rdbg
l13rary.l13-diff
letrieu.expand-region
manuelpuyol.erb-linter
mengrbatinov.json-snippet-to-md-documentation
mikestead.dotenv
mongodb.mongodb-vscode
moshfeu.diff-merge
ms-azuretools.vscode-docker
ms-dotnettools.csdevkit
ms-dotnettools.csharp
ms-dotnettools.dotnet-maui
Expand All @@ -57,7 +46,6 @@ ms-python.vscode-pylance
ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.remote-wsl
ms-vscode-remote.vscode-remote-extensionpack
ms-vscode.powershell
ms-vscode.remote-explorer
Expand All @@ -66,18 +54,15 @@ ms-vscode.vs-keybindings
ms-vscode.vscode-speech
ms-vscode.wordcount
ms-vsliveshare.vsliveshare
nrwl.angular-console
ofhumanbondage.react-proptypes-intellisense
orta.vscode-jest
ortoni.ortoni
pkief.angular-component-extractor
pkief.material-icon-theme
pranaygp.vscode-css-peek
prisma.prisma
redhat.vscode-yaml
richie5um2.vscode-sort-json
ritwickdey.liveserver
runem.lit-plugin
ryu1kn.partial-diff
saoudrizwan.claude-dev
shopify.ruby-lsp
Expand All @@ -88,7 +73,6 @@ streetsidesoftware.code-spell-checker
stylelint.vscode-stylelint
thinker.sort-json
timonwong.shellcheck
tlevesque2.duplicate-finder
tomoki1207.pdf
tyriar.sort-lines
usernamehw.errorlens
Expand Down
4 changes: 0 additions & 4 deletions engineering/ide/.vscode/extensions_base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,13 @@ eamodio.gitlens
esbenp.prettier-vscode
foxundermoon.shell-format
GitHub.codespaces
GitHub.copilot
github.vscode-github-actions
GitHub.vscode-pull-request-github
HTMLHint.vscode-htmlhint
jmfirth.vsc-space-block-jumper
L13RARY.l13-diff
letrieu.expand-region
mikestead.dotenv
moshfeu.diff-merge
ms-azuretools.vscode-docker
ms-dotnettools.vscode-dotnet-runtime
ms-playwright.playwright
ms-vscode-remote.remote-containers
Expand All @@ -27,7 +24,6 @@ ms-vscode-remote.vscode-remote-extensionpack
ms-vscode.remote-explorer
ms-vscode.remote-server
ms-vscode.vs-keybindings
PKief.material-icon-theme
pranaygp.vscode-css-peek
redhat.vscode-yaml
richie5um2.vscode-sort-json
Expand Down
2 changes: 0 additions & 2 deletions engineering/ide/.vscode/extensions_devops.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ formulahendry.github-actions
henriiik.docker-linter
KnisterPeter.vscode-github
me-dutour-mathieu.vscode-github-actions
ms-azuretools.vscode-docker
ms-kubernetes-tools.vscode-aks-tools
ms-kubernetes-tools.vscode-kubernetes-tools
ms-vscode.remote-explorer
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.remote-wsl
MS-vsliveshare.vsliveshare
2 changes: 0 additions & 2 deletions engineering/ide/.vscode/extensions_react.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
christian-kohler.npm-intellisense
dsznajder.es7-react-js-snippets
EQuimper.react-native-react-redux
wix.vscode-import-cost
88 changes: 51 additions & 37 deletions engineering/ide/.vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,7 @@
},
"yaml.format.singleQuote": false,
"yaml.format.proseWrap": "never",
"yaml.schemaStore.enable": true,
"yaml.trace.server": "verbose",
"[yaml]": {
"yaml.schemaStore.enable": true, "[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
},
"accessibility.signals.terminalBell": {
Expand Down Expand Up @@ -177,7 +175,7 @@
"research",
"bugfix",
],
"atlascode.jira.startWorkBranchTemplate.customTemplate": "{{{prefix}}}/{{{issueKey}}}-{{{summary}}}",
"atlascode.jira.startWorkBranchTemplate.customTemplate": "{{{prefix}}}{{{issueKey}}}-{{{summary}}}",
"atlascode.jira.statusbar.showUser": false,
"atlascode.jira.todoIssues.triggers": [
"BUG:",
Expand All @@ -201,9 +199,7 @@
"vscode-yaml-sort.extensions": ["yaml", "yml"],
"editor.autoClosingQuotes": "languageDefined",
"editor.autoIndent": "advanced",
"editor.autoSurround": "languageDefined",
"atlascode.outputLevel": "debug",
"autoimport.filesToScan": "**/*.{js,jsx,ts,tsx,css,scss}",
"editor.autoSurround": "languageDefined", "autoimport.filesToScan": "**/*.{js,jsx,ts,tsx,css,scss}",
"autoimport.showNotifications": true,
"breadcrumbs.enabled": true,
"codespaces.accountProvider": "GitHub",
Expand Down Expand Up @@ -515,6 +511,7 @@
"Newtonsoft",
"NEXTAUTH",
"nextjs",
"nivo",
"nodelist",
"noninteractive",
"noopener",
Expand Down Expand Up @@ -710,11 +707,9 @@
},
"debug.openExplorerOnEnd": false,
"debug.terminal.clearBeforeReusing": true,
"debug.toolBarLocation": "docked",
"dev.containers.logLevel": "trace",
"diffEditor.codeLens": true,
"debug.toolBarLocation": "docked", "diffEditor.codeLens": true,
"diffEditor.experimental.showMoves": false,
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.ignoreTrimWhitespace": true,
"diffEditor.useInlineViewWhenSpaceIsLimited": false,
"docker.images.sortBy": "CreatedTime",
"dotfiles.installCommand": "install",
Expand Down Expand Up @@ -745,7 +740,7 @@
"editor.guides.indentation": true,
"editor.hover.delay": 200,
"editor.inlineCompletionsAccessibilityVerbose": true,
"editor.largeFileOptimizations": false,
"editor.largeFileOptimizations": true,
"editor.minimap.enabled": false,
"editor.quickSuggestions": {
"comments": "off",
Expand Down Expand Up @@ -845,6 +840,8 @@
"**/dist/**": true,
"**/.git/**": true,
"**/storybook-static/**": true,
"**/coverage/**": true,
"**/build/**": true,
},
"gistpad.playgrounds.showConsole": true,
"gistpad.playgrounds.stylesheetLanguage": "scss",
Expand Down Expand Up @@ -940,14 +937,10 @@
"gitlens.views.repositories.files.layout": "list",
"gitlens.views.repositories.showIncomingActivity": false,
"gitlens.views.search.enabled": false,
"gitlens.views.searchAndCompare.files.layout": "tree",
"grammarly.debug": true,
"hadolint.hadolintPath": "/opt/homebrew/bin/hadolint",
"gitlens.views.searchAndCompare.files.layout": "tree", "hadolint.hadolintPath": "/opt/homebrew/bin/hadolint",
"html.format.enable": true,
"html.format.extraLiners": "none",
"html.format.templating": true,
"html.trace.server": "messages",
"htmlhint.documentSelector": ["htm", "html"],
"html.format.templating": true, "htmlhint.documentSelector": ["htm", "html"],
"javascript.preferences.importModuleSpecifier": "non-relative",
"keyboard.layout": "us",
"l13Diff.confirmCopy": false,
Expand All @@ -961,23 +954,17 @@
"liveServer.settings.donotVerifyTags": true,
"liveServer.settings.wait": 500,
"liveshare.allowGuestDebugControl": true,
"liveshare.allowGuestTaskControl": true,
"liveshare.diagnosticLogging": true,
"liveshare.presence": true,
"liveshare.allowGuestTaskControl": true, "liveshare.presence": true,
"markdown.experimental.updateLinksOnPaste": true,
"markdown.extension.completion.enabled": true,
"markdown.extension.print.theme": "dark",
"markdown.preview.fontSize": 16,
"markdown.server.log": "debug",
"markdown.validate.unusedLinkDefinitions.enabled": "warning",
"markdown.preview.fontSize": 16, "markdown.validate.unusedLinkDefinitions.enabled": "warning",
"markdownlint.run": "onSave",
"merge-conflict.autoNavigateNextConflict.enabled": true,
"npm.packageManager": "npm",
"path-intellisense.autoSlashAfterDirectory": true,
"playwright.reuseBrowser": false,
"playwright.showTrace": false,
"prettier.enableDebugLogs": true,
"prettier.proseWrap": "never",
"playwright.showTrace": false, "prettier.proseWrap": "never",
"prettier.singleQuote": true,
// "prettier.requireConfig": true,
"prettier.useEditorConfig": false,
Expand Down Expand Up @@ -1019,7 +1006,18 @@
"search.useIgnoreFiles": false,
"security.promptForLocalFileProtocolHandling": false,
"security.workspace.trust.untrustedFiles": "open",
"settingsSync.ignoredExtensions": ["ms-vscode-remote.remote-containers"],
// Extensions are owned by this repo (extensions*.txt), NOT Settings Sync.
// Sync silently uninstalled eslint + prettier on 2026-08-11; these entries are a
// per-extension safety net (no wildcard is supported). The full fix is to turn the
// Extensions resource OFF in "Settings Sync: Configure..." on every machine — see
// engineering/ide/.vscode/README.md § Settings Sync.
"settingsSync.ignoredExtensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"foxundermoon.shell-format",
"ms-vscode-remote.remote-containers",
"stylelint.vscode-stylelint",
],
"shellcheck.enable": true,
"shellcheck.enableQuickFix": true,
"shellcheck.ignoreFileSchemes": ["git", "gitfs"],
Expand Down Expand Up @@ -1172,6 +1170,14 @@
"terminal.integrated.wordSeparators": "()[]{}',\"`─‘’|",
"typescript.suggest.completeFunctionCalls": true,
"typescript.validate.enable": true,
// macOS: watch parent directories via FSEvents instead of one kqueue fd per
// file. Collapses tsserver's ~1600 open fds (dominated by generated OpenAPI
// model files) to a handful of dir watchers — the real fd consumer per window.
"typescript.tsserver.watchOptions": {
"watchFile": "useFsEventsOnParentDirectory",
"watchDirectory": "useFsEvents",
"fallbackPolling": "dynamicPriority",
},
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"window.newWindowDimensions": "maximized",
"window.restoreWindows": "all",
Expand All @@ -1196,17 +1202,16 @@
"workbench.startupEditor": "welcomePage",
"workbench.tree.indent": 4,
"workbench.view.alwaysShowHeaderActions": true,
"window.confirmSaveUntitledWorkspace": false,
"eslint.debug": true,
"terminal.integrated.env.osx": {},
"window.confirmSaveUntitledWorkspace": false, "terminal.integrated.env.osx": {},
"gitlens.views.scm.grouped.views": {
"commits": false,
"commits": true,
"branches": false,
"remotes": true,
"stashes": false,
"tags": false,
"worktrees": false,
"contributors": false,
"fileHistory": false,
"repositories": true,
"searchAndCompare": true,
"launchpad": false,
Expand All @@ -1215,7 +1220,7 @@
"all": true,
},
"chat.editing.alwaysSaveWithGeneratedChanges": true,
"scm.diffDecorationsIgnoreTrimWhitespace": "true",
"scm.diffDecorationsIgnoreTrimWhitespace": true,
"l13Diff.ignoreTrimWhitespace": "on",
"gitlens.blame.ignoreWhitespace": true,
"gitlens.advanced.fileHistoryShowAllBranches": true,
Expand All @@ -1224,9 +1229,7 @@
"application.shellEnvironmentResolutionTimeout": 20,
"geminicodeassist.project": "retail-success-449215",
"githubPullRequests.pushBranch": "always",
"git.openRepositoryInParentFolders": "prompt",
"diffEditor.maxComputationTime": 0,
"dotenv.enableAutocloaking": false,
"git.openRepositoryInParentFolders": "always", "dotenv.enableAutocloaking": false,
"cSpell.checkVSCodeSystemFiles": true,
"cSpell.allowCompoundWords": true,
"cSpell.logLevel": "Warning",
Expand Down Expand Up @@ -1276,8 +1279,19 @@
"npm run lint:errors-only": true,
"npx vitest": true,
},
"chat.viewSessions.orientation": "stacked",
"claudeCode.preferredLocation": "panel",
"terminal.integrated.initialHint": false,
"chat.useClaudeHooks": true,
"yaml.disableSchemaDetection": [
"**/.github/workflows/*.yml",
"**/.github/workflows/*.yaml",
"**/.gitea/workflows/*.yml",
"**/.gitea/workflows/*.yaml",
"**/.forgejo/workflows/*.yml",
"**/.forgejo/workflows/*.yaml",
"azure-pipelines.yml",
"azure-pipelines.yaml",
],
"diffEditor.hideUnchangedRegions.enabled": true,
"chat.viewSessions.orientation": "stacked",
}
Loading