Quiet Mind Wiki

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.

bash
brew 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

  • Project Manager
  • Sort
  • EZ Snippets
  • Markdown Preview
  • Markdown Checkbox
  • EditorConfig
  • ErrorLens

AI Extensions

Linting Extensions

Language Extensions

Theme

Sync Settings

To sync settinsg between two or more instances of VS Code, turn on Settings Sync using the Turn on Settings Sync option in the Manage gear menu at the bottom of the Activity Bar.