Last active
July 28, 2020 23:35
-
-
Save rstacruz/01ab54802497df05471711949fb59bb6 to your computer and use it in GitHub Desktop.
My VSCode settings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
// -------------------------------------------------------------------------------- | |
// Font settings | |
// -------------------------------------------------------------------------------- | |
// Fonts | |
"editor.fontFamily": "Victor Mono, Iosevka, monospace", // 15/18 or 16/18 | |
"editor.fontWeight": "600", | |
"editor.letterSpacing": 0, | |
"editor.lineHeight": 17, | |
// Terminal fonts | |
"terminal.integrated.fontFamily": "Victor Mono, Iosevka, monospace", | |
"terminal.integrated.fontWeight": "500", | |
"terminal.integrated.fontWeightBold": "800", | |
// Enable ligatures for Iosevka, Fira Code, etc | |
"editor.fontLigatures": true, | |
// -------------------------------------------------------------------------------- | |
// Startup settings | |
// -------------------------------------------------------------------------------- | |
// On startup, show the huge Vscode logo | |
"workbench.startupEditor": "none", | |
// Always start with an empty workspace | |
"window.restoreWindows": "none", | |
// -------------------------------------------------------------------------------- | |
// Whitespace settings | |
// -------------------------------------------------------------------------------- | |
// Be reasonable with whitespaces | |
"files.trimTrailingWhitespace": true, | |
"files.insertFinalNewline": true, | |
"files.trimFinalNewlines": true, | |
// -------------------------------------------------------------------------------- | |
// Editor UI settings | |
// -------------------------------------------------------------------------------- | |
// No minimap | |
"editor.minimap.enabled": false, | |
"editor.minimap.maxColumn": 64, | |
"editor.minimap.renderCharacters": false, | |
// Padding | |
"editor.padding.top": 8, | |
// Optimize to reduce lag | |
// https://github.com/VSCodeVim/Vim/issues/2021 | |
"editor.quickSuggestions": true, | |
"editor.quickSuggestionsDelay": 200, | |
// Disable smart pairs | |
"editor.autoClosingBrackets": "never", | |
"editor.autoClosingQuotes": "never", | |
// Minimal ruler | |
"editor.hideCursorInOverviewRuler": false, | |
"editor.overviewRulerBorder": false, | |
// No overscrolling | |
"editor.scrollBeyondLastLine": false, | |
// No highlight ("all" or "none" works for me) | |
"editor.renderLineHighlight": "none", | |
// -------------------------------------------------------------------------------- | |
// UI settings | |
// -------------------------------------------------------------------------------- | |
"window.title": "${rootName} ${dirty}", // - ${activeEditorShort} ${dirty}", | |
// Press alt-f to toggle menu. | |
// ('hidden' is smaller than 'toggle') | |
"window.menuBarVisibility": "toggle", | |
// Titlebar style (native/custom) | |
"window.titleBarStyle": "custom", | |
// Allow `ctrl-k ctrl-w` to go back an empty workspace | |
"window.closeWhenEmpty": false, | |
// Breadcrumbs | |
"breadcrumbs.enabled": false, | |
// Color theme | |
"workbench.colorTheme": "lucy", | |
// Workbench: UI elements | |
"workbench.statusBar.visible": false, | |
"workbench.activityBar.visible": true, | |
"workbench.editor.showTabs": false, | |
// Workbench: etc | |
"workbench.sideBar.location": "right", | |
"workbench.iconTheme": "verdandi", | |
"workbench.editor.showIcons": false, | |
"workbench.editor.enablePreview": false, | |
"workbench.editor.enablePreviewFromQuickOpen": false, | |
// Explorer | |
"explorer.confirmDelete": false, | |
"explorer.confirmDragAndDrop": false, | |
// -------------------------------------------------------------------------------- | |
// Vim: keys | |
// -------------------------------------------------------------------------------- | |
// Leader keys | |
"vim.leader": ",", | |
// Control keys | |
// 'true' means interpret it like vim, and 'false' means interpret | |
// it like vscode | |
"vim.handleKeys": { | |
"<C-d>": true, | |
"<C-f>": true, | |
"<C-r>": true, // undo(vim) / recent(code) | |
"<C-k>": false, // C-k v for markdown preview | |
"<C-b>": false, // Sidebar | |
"<C-x>": false, // decrement (disable) | |
"<C-a>": false, // increment (disable) | |
"<C-j>": false // Show bottom panel | |
}, | |
// -------------------------------------------------------------------------------- | |
// Vim key bindings | |
// -------------------------------------------------------------------------------- | |
"vim.normalModeKeyBindings": [ | |
{ | |
// / - Search | |
"before": ["leader", "/"], | |
"commands": ["workbench.action.findInFiles"] | |
}, | |
{ | |
// fed - Settings | |
"before": ["leader", "f", "e", "d"], | |
"commands": ["workbench.action.openSettingsJson"] | |
}, | |
{ | |
// fek - Keybindings | |
"before": ["leader", "f", "e", "k"], | |
"commands": ["workbench.action.openGlobalKeybindingsFile"] | |
}, | |
{ | |
// gs - Git status | |
"before": ["leader", "g", "s"], | |
"commands": ["workbench.view.scm"] | |
}, | |
{ | |
// ' - terminal | |
"before": ["leader", "'"], | |
"commands": ["workbench.action.terminal.focus"] | |
}, | |
{ | |
// ot - toggle tabs | |
"before": ["leader", "o", "t"], | |
"commands": ["workbench.action.toggleTabsVisibility"] | |
}, | |
{ | |
// on - toggle breadcrumbs | |
"before": ["leader", "o", "n"], | |
"commands": ["breadcrumbs.toggle"] | |
}, | |
{ | |
// os - toggle status | |
"before": ["leader", "o", "s"], | |
"commands": ["workbench.action.toggleStatusbarVisibility"] | |
}, | |
{ | |
// cf - format doc | |
"before": ["leader", "c", "f"], | |
"commands": ["editor.action.formatDocument"] | |
}, | |
{ | |
// g0 - Quickfix | |
"before": ["g", "0"], | |
"commands": ["editor.action.quickFix"] | |
}, | |
{ | |
// enter - toggle | |
"before": ["enter"], | |
"after": ["z", "o"] | |
}, | |
// jk - down/up | |
{ "before": ["j"], "after": ["g", "j"] }, | |
{ "before": ["k"], "after": ["g", "k"] } | |
], | |
// -------------------------------------------------------------------------------- | |
// Cloudformation | |
// -------------------------------------------------------------------------------- | |
// Custom tags for the parser to use | |
// These are CloudFormation tags | |
"yaml.customTags": [ | |
"!And", "!If", "!Not", "!Equals", "!Or", "!FindInMap sequence", | |
"!Base64", "!Cidr", "!Ref", "!Sub", "!GetAtt", "!GetAZs", "!ImportValue", | |
"!Select", "!Select sequence", "!Split", "!Join sequence" | |
], | |
// -------------------------------------------------------------------------------- | |
// Formatter settings | |
// -------------------------------------------------------------------------------- | |
"[typescriptreact]": { | |
"editor.formatOnSave": true, | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[typescript]": { | |
"editor.formatOnSave": true, | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[javascript]": { | |
"editor.formatOnSave": true, | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[jsonc]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
// -------------------------------------------------------------------------------- | |
// Settings sync | |
// -------------------------------------------------------------------------------- | |
"sync.gist": "...", | |
"sync.removeExtensions": true, | |
"sync.syncExtensions": true, | |
"sync.autoDownload": true, | |
"sync.autoUpload": true, | |
"sync.forceDownload": false, | |
"sync.forceUpload": false, | |
"sync.quietSync": true, | |
// -------------------------------------------------------------------------------- | |
// Color theme customisations | |
// -------------------------------------------------------------------------------- | |
"workbench.colorCustomizations": { | |
// Make tabs 'flat' | |
"tab.activeBorder": "#0000", | |
"tab.activeBorderTop": "#0000", | |
"tab.activeBackground": "#0000", | |
"tab.inactiveBackground": "#0000", | |
"tab.inactiveForeground": "#789c", | |
"tab.border": "#00000000", | |
"tab.unfocusedActiveBorder": "#00000000", | |
"breadcrumb.background": "#00000000", | |
"breadcrumb.foreground": "#77889988", | |
"[Verdandi]": { | |
"tab.inactiveBackground": "#f8f9fa", | |
"tab.activeBackground": "#f8f9fa", | |
"activityBar.background": "#f3f4f5", | |
"editorGroupHeader.tabsBackground": "#f8f9fa", | |
"editorGroupHeader.noTabsBackground": "#f8f9fa", | |
"sideBar.background": "#f8f9fa" | |
}, | |
"[Midnight City]": { | |
// Borders | |
// "titleBar.border": "#7892", | |
"titleBar.activeForeground": "#789", | |
// "tab.border": "#7892", | |
// Remove the border in between editors | |
"editorGroup.border": "#7892", | |
// Border between the terminal and the editor | |
"panel.border": "#7892" | |
}, | |
"[Firefox Dark]": { | |
"titleBar.activeBackground": "#181818", | |
"tab.inactiveBackground": "#181818", | |
"titleBar.border": "#8882", | |
"tab.border": "#8882", | |
"tab.activeBackground": "#121212", | |
"breadcrumb.background": "#121212", | |
"breadcrumb.foreground": "#8896" | |
} | |
}, | |
// -------------------------------------------------------------------------------- | |
// Misc customisations | |
// -------------------------------------------------------------------------------- | |
// Editor | |
"editor.tabSize": 2, | |
"editor.find.seedSearchStringFromSelection": true, | |
"editor.renderWhitespace": "selection", | |
"editor.suggest.localityBonus": true, | |
"editor.suggestSelection": "first", | |
// Files | |
"files.autoSave": "off", | |
"files.eol": "\n", | |
"search.showLineNumbers": true, | |
"window.nativeTabs": true, | |
"window.zoomLevel": 0, | |
// Auto-stage everything | |
"git.enableSmartCommit": true, | |
// Use WSL on Windows | |
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe", | |
// -------------------------------------------------------------------------------- | |
// Various extensions | |
// -------------------------------------------------------------------------------- | |
"extensions.autoUpdate": true, | |
// PostCSS | |
"files.associations": { | |
"*.css": "postcss" | |
}, | |
// TypeScript | |
"typescript.autoClosingTags": false, | |
"typescript.updateImportsOnFileMove.enabled": "always", | |
// Vim | |
"vim.foldfix": true, | |
"vim.highlightedyank.color": "rgba(250, 240, 170, 0.25)", | |
"vim.highlightedyank.duration": 100, | |
"vim.highlightedyank.enable": true, | |
"vim.hlsearch": true, | |
"vim.neovimPath": "/usr/bin/nvim", | |
"vim.useSystemClipboard": false, | |
"vim.visualstar": true, | |
// SCM | |
"scm.diffDecorations": "gutter", | |
"scm.diffDecorationsGutterWidth": 2, | |
// Zentabs | |
"zentabs.maximumOpenedTabs": 4, | |
"zentabs.applyLimitFor": "editorGroup", | |
// Solargraph | |
"solargraph.commandPath": "", | |
"solargraph.diagnostics": true, | |
"solargraph.formatting": true, | |
// Open in vim | |
"open-in-vim.useNeovim": true, | |
// Gitlens | |
"gitlens.codeLens.enabled": false, | |
"gitlens.currentLine.enabled": false, | |
"gitlens.hovers.currentLine.enabled": false, | |
"gitlens.hovers.currentLine.over": "line", | |
"gitlens.views.compare.location": "gitlens", | |
"gitlens.views.fileHistory.location": "gitlens", | |
"gitlens.views.lineHistory.location": "gitlens", | |
"gitlens.views.repositories.location": "gitlens", | |
"gitlens.views.search.location": "gitlens", | |
"gitlens.menus": { | |
"editor": { | |
"blame": false, "clipboard": true, "compare": true, "details": false, | |
"history": false, "remote": false | |
}, | |
"editorGroup": false, | |
"editorTab": { | |
"clipboard": true, "compare": true, "history": true, "remote": true | |
}, | |
"explorer": { | |
"clipboard": true, "compare": true, "history": true, "remote": true | |
}, | |
"scmGroup": { | |
"compare": true, "openClose": true, "stash": true, "stashInline": true | |
}, | |
"scmItem": { | |
"clipboard": true, "compare": true, "history": true, "remote": true, | |
"stash": true | |
} | |
}, | |
// Emmet | |
"emmet.includeLanguages": { | |
"postcss": "css", | |
"javascript": "javascriptreact" | |
}, | |
"emmet.syntaxProfiles": { | |
// Enable it for CSS as well. | |
"postcss": "css", | |
"jsx": { | |
"attr_quotes": "single" | |
} | |
}, | |
// ================================================================================ | |
// More settings | |
"javascript.updateImportsOnFileMove.enabled": "always", | |
"diffEditor.renderSideBySide": false, | |
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment