Skip to content

Instantly share code, notes, and snippets.

@rstacruz
Last active July 28, 2020 23:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rstacruz/01ab54802497df05471711949fb59bb6 to your computer and use it in GitHub Desktop.
Save rstacruz/01ab54802497df05471711949fb59bb6 to your computer and use it in GitHub Desktop.
My VSCode settings
{
// --------------------------------------------------------------------------------
// 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