VS Code Configuration
code Path
To install code to your system PATH, execute ⌘ ⇧ P to access the Command Pallette, and start typing:
“Shell Command: Install code command in PATH”
User Settings
Execute⌘ ⇧ P to enter the Command Pallette and choose Preferences: Open Settings (JSON) to access settings.json.
The following is my current settings.json.
To use "editor.fontLigatures" you need the Fira Code font.
bashbrew install --cask font-fira-code
json{"breadcrumbs.enabled": false,"chat.disableAIFeatures": true,"claudeCode.preferredLocation": "panel","diffEditor.ignoreTrimWhitespace": false,"diffEditor.hideUnchangedRegions.enabled": true,"diffEditor.renderSideBySide": true,"editor.cursorBlinking": "smooth","editor.cursorSmoothCaretAnimation": "off","editor.detectIndentation": false,"editor.fontFamily": "'Fira Code', 'MesloLGS NF', Menlo, Monaco, 'Courier New', monospace",// https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets// abcdefghijklmnopqrstuvwxyz ABCDEDFGHIJKLMNOPQRSTUVWXYZ 1234567890 0O0O0 - – !@#$%^&*()\/|?{}~// fn => ($var) -> { ... } <= >= var[] =~ !~ == != === !== \\"editor.fontLigatures": "'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'onum', 'cv06', 'cv14', 'cv16', 'cv27', 'cv30', 'cv31'","editor.fontSize": 14,"editor.guides.bracketPairs": "active","editor.guides.highlightActiveIndentation": true,"editor.guides.indentation": true,"editor.indentSize": 2,"editor.insertSpaces": true,"editor.linkedEditing": true,"editor.minimap.enabled": false,"editor.renderControlCharacters": true,"editor.renderWhitespace": "boundary","editor.smoothScrolling": true,"editor.snippetSuggestions": "top","editor.stickyTabStops": true,"editor.tabSize": 2,"editor.unicodeHighlight.ambiguousCharacters": true,"editor.unicodeHighlight.invisibleCharacters": true,"editor.unicodeHighlight.nonBasicASCII": false,"editor.useTabStops": true,"elixirLS.autoBuild": false,"elixirLS.dialyzerEnabled": false,"elixirLS.signatureAfterComplete": false,"elixirLS.suggestSpecs": false,"files.associations": {"*.mdx": "markdown"},"files.exclude": {"**/.git": true,"**/.DS_Store": true,"**/node_modules": true,"**/dist": true,"**/build": true},"files.trimTrailingWhitespace": true,"files.insertFinalNewline": true,"git.openRepositoryInParentFolders": "never","git.enableSmartCommit": true,"git.confirmSync": false,"search.exclude": {"**/build": true,"**/dist": true,"**/node_modules": true},"security.workspace.trust.enabled": false,"telemetry.telemetryLevel": "off","terminal.integrated.cursorBlinking": true,"terminal.integrated.cursorStyle": "line","terminal.integrated.fontFamily": "MesloLGS NF","terminal.integrated.fontSize": 15,"workbench.editor.enablePreview": false,"workbench.editor.enablePreviewFromQuickOpen": false,"workbench.editorAssociations": {"*.svg": "default"},"workbench.startupEditor": "none","window.zoomLevel": 2,"workbench.colorTheme": "One Dark Pro Night Flat",}
Keybindings
To see the various commands whose keybindings you can override, execute⌘ ⇧ P to access the Command Palette, and start typing:
Preferences: Open Default Keyboard Shortcuts (JSON)
To override the default keybindings, execute ⌘ ⇧ P to access the Command Palette, and start typing:
Preferences: Open Keyboard Shortcuts (JSON)
My current keyboard shortcuts configuration:
json[{"key": "cmd-shift-d","command": "editor.action.duplicateSelection","when": "editorFocus",},{"key": "shift+cmd+g","command": "editor.action.selectHighlights","when": "editorFocus",},{"key": "ctrl+cmd+s","command": "extension.sort","when": "editorFocus"},{"key": "alt+cmd+1","command": "workbench.action.editorLayoutSingle",},{"key": "alt+cmd+2","command": "workbench.action.editorLayoutTwoColumns",},{"key": "alt+cmd+3","command": "workbench.action.editorLayoutThreeColumns",},{"key": "ctrl+tab","command": "workbench.action.nextEditor",},{"key": "ctrl+shift+tab","command": "workbench.action.previousEditor",},{"key": "ctrl+cmd+alt+l","command": "editor.action.transformToLowercase",},{"key": "ctrl+cmd+alt+u","command": "editor.action.transformToUppercase",},{"key": "ctrl+cmd+alt+v","command": "markdown.showPreviewToSide","when": "!notebookEditorFocused && editorLangId == 'markdown'"},{"key": "alt+cmd+j","command": "workbench.action.webview.openDeveloperTools","when": "editorFocus"},{"key": "tab","command": "emmet.expandAbbreviation","when": "editorTextFocus && !editorReadonly && !editorTabMovesFocus && !suggestWidgetVisible && emmet.enabledForLanguage"},]
Extensions
The following are the extensions I run. After installing an extension, I prefer to disable it, and then in each specific workspace only enable the extensions I use for that workspace (I create separate workspaces for each project and use the Project Manager extension to quickly swap between them).
General Extensions
AI Extensions
Linting Extensions
Language Extensions
Theme
- One Dark Pro (I like the
One Dark Pro Night Flatcolor scheme) - Black Void UI (near-black chrome theme overrides extension)
Sync Settings
To sync settinsg between two or more instances of VS Code, turn on Settings Sync using theTurn on Settings Sync option in the Manage gear menu at the bottom of the Activity Bar.