Skip to content

Instantly share code, notes, and snippets.

@aanari
Last active August 26, 2024 06:53
Show Gist options
  • Save aanari/10a336880edb3cc6a145a65ac3e4c057 to your computer and use it in GitHub Desktop.
Save aanari/10a336880edb3cc6a145a65ac3e4c057 to your computer and use it in GitHub Desktop.
VSCode Settings
[
// NAVIGATION
{
"key": "ctrl+j",
"command": "workbench.action.terminal.focus",
"when": "!terminalFocus"
},
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
// QUICK OPEN
{
"key": "ctrl+p",
"command": "workbench.action.quickOpen",
"when": "!inQuickOpen && !suggestWidgetVisible"
},
{
"key": "ctrl+j",
"command": "workbench.action.quickOpenSelectNext",
"when": "inQuickOpen"
},
{
"key": "ctrl+k",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "inQuickOpen"
},
{
"key": "ctrl+n",
"command": "workbench.action.quickOpenSelectNext",
"when": "inQuickOpen"
},
{
"key": "ctrl+p",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "inQuickOpen && !suggestWidgetVisible"
},
// FILE TREE
{
"command": "workbench.action.toggleSidebarVisibility",
"key": "ctrl+n",
"when": "!inQuickOpen && !suggestWidgetVisible && sideBarVisible"
},
{
"command": "workbench.files.action.focusFilesExplorer",
"key": "ctrl+n",
"when": "!inQuickOpen && !suggestWidgetVisible && !sideBarVisible"
},
{
"command": "workbench.action.navigateLeft",
"key": "ctrl+h"
},
{
"command": "workbench.action.navigateRight",
"key": "ctrl+l"
},
{
"key": "a",
"command": "explorer.newFile",
"when": "filesExplorerFocus && !inputFocus"
},
{
"key": "c",
"command": "explorer.newFile",
"when": "filesExplorerFocus && !inputFocus"
},
{
"key": "enter",
"command": "explorer.openAndPassFocus",
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsFolder && !inputFocus"
},
{
"key": "enter",
"command": "list.toggleExpand",
"when": "filesExplorerFocus && foldersViewVisible && explorerResourceIsFolder && !inputFocus"
},
{
"command": "renameFile",
"key": "r",
"when": "filesExplorerFocus && !inputFocus"
},
{
"key": "shift+c",
"command": "explorer.newFolder",
"when": "explorerViewletFocus"
},
{
"command": "deleteFile",
"key": "d",
"when": "filesExplorerFocus && !inputFocus"
},
// EXTRA
{
"key": "ctrl+z",
"command": "workbench.action.toggleZenMode"
}
]
{
"errorLens.fontStyleItalic": true,
"update.showReleaseNotes": false,
"window.zoomLevel": 0,
"window.commandCenter": false,
"workbench.colorTheme": "Nord Light Brighter",
"workbench.iconTheme": "material-icon-theme",
"workbench.layoutControl.enabled": false,
"workbench.list.smoothScrolling": true,
"workbench.colorCustomizations": {
"editorInlayHint.foreground": "#006666FF",
"editorInlayHint.background": "#00FFFF11",
"editorInlayHint.typeForeground": "#006666FF",
"editorInlayHint.typeBackground": "#00FFFF11",
"editorInlayHint.parameterForeground": "#006666FF",
"editorInlayHint.parameterBackground": "#00FFFF11"
},
"editor.inlayHints.fontFamily": "'PragmataPro Mono Liga', 'PragmataProMonoLiga Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"editor.inlayHints.fontSize": 12,
"editor.smoothScrolling": true,
"editor.cursorSurroundingLines": 100,
"editor.fontFamily": "'PragmataProMonoLiga Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"editor.lineHeight": 1.2,
"editor.tabSize": 2,
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": [
"strong",
"support.class.builtin",
"entity.name.section.markdown",
"entity.name.tag.html"
],
"settings": {
"fontStyle": "bold"
}
},
{
"scope": [
"entity.name.type.class",
"meta.definition.method",
"meta.definition.property",
"meta.definition.function"
],
"settings": {
"fontStyle": "bold italic"
}
},
{
"scope": [
//following will be in italic
"comment",
"constant", //String, Number, Boolean…, this, super
"constant.language",
"storage",
"storage.modifier", //static keyword
"storage.type.class.js", //class keyword
"keyword", //import, export, return…
"meta.import",
"keyword.control", //if, else, for, while, switch…
"keyword.control.flow"
],
"settings": {
"fontStyle": "italic"
}
},
{
"scope": [
//following will be excluded from italics (VSCode has some defaults for italics)
"invalid",
"keyword.operator",
"constant.numeric.css",
"keyword.other.unit.px.css",
"constant.numeric.decimal.js",
"constant.numeric.json"
],
"settings": {
"fontStyle": ""
}
}
]
},
"editor.rulers": [
{
"column": 80,
"color": "#dddddd77"
},
{
"column": 120,
"color": "#dddddd77"
}
],
"editor.wordWrap": "on",
"editor.formatOnSave": true,
"editor.suggest.insertMode": "replace",
"editor.linkedEditing": true,
"editor.scrollbar.verticalScrollbarSize": 4,
"editor.scrollbar.horizontalScrollbarSize": 6,
"editor.stickyScroll.enabled": false,
"editor.minimap.enabled": false,
"editor.fontLigatures": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.accessibilitySupport": "off",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {},
"editor.fontSize": 14,
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"vim.leader": "<Space>",
"vim.hlsearch": true,
"vim.easymotion": true,
"vim.incsearch": true,
"vim.enableNeovim": true,
"vim.useSystemClipboard": true,
"vim.visualstar": true,
"vim.showMarksInGutter": true,
"vim.highlightedyank.enable": true,
"vim.highlightedyank.duration": 100,
"vim.highlightedyank.color": "rgba(255, 255, 0, 0.4)",
"vim.searchHighlightColor": "rgba(255, 255, 0, 0.4)",
"vim.searchMatchColor": "rgba(255, 153, 0, 0.4)",
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
],
"vim.normalModeKeyBindings": [
{
"before": ["C"],
"after": ["c", "$"]
}
],
"vim.normalModeKeyBindingsNonRecursive": [
// NAVIGATION
{
"before": ["L"],
"after": ["$"]
},
{
"before": ["H"],
"after": ["^"]
},
{
"before": ["Y"],
"after": ["y", "$"]
},
// switch b/w buffers
{ "before": ["<S-tab>"], "commands": [":bprevious"] },
{ "before": ["<tab>"], "commands": [":bnext"] },
// splits
{ "before": ["leader", "v"], "commands": [":vsplit"] },
{ "before": ["leader", "s"], "commands": [":split"] },
// panes
{
"before": ["leader", "h"],
"commands": ["workbench.action.focusLeftGroup"]
},
{
"before": ["leader", "j"],
"commands": ["workbench.action.focusBelowGroup"]
},
{
"before": ["leader", "k"],
"commands": ["workbench.action.focusAboveGroup"]
},
{
"before": ["leader", "l"],
"commands": ["workbench.action.focusRightGroup"]
},
// toggle comment selection
{
"before": ["leader", "/"],
"commands": ["editor.action.commentLine"],
"silent": true
},
// View SCM
{
"before": ["g", "t"],
"commands": ["workbench.view.scm"]
},
// GitLens (status, diff, copy remote url)
{
"before": ["g", "s"],
"commands": ["gitlens.showQuickRepoStatus"]
},
{
"before": ["g", "y"],
"commands": ["gitlens.copyRemoteFileUrlToClipboard"]
},
{ "before": ["<Esc>"], "commands": [":noh"], "silent": true },
// NICE TO HAVE
{ "before": ["leader", "w"], "commands": [":w!"] },
{ "before": ["leader", "q"], "commands": [":q!"] },
{ "before": ["leader", "x"], "commands": [":x!"] },
{
"before": ["[", "c"],
"commands": ["workbench.action.editor.previousChange"]
},
{
"before": ["]", "c"],
"commands": ["workbench.action.editor.nextChange"]
},
{
"before": ["[", "d"],
"commands": ["editor.action.marker.prev"]
},
{
"before": ["]", "d"],
"commands": ["editor.action.marker.next"]
},
{
"before": ["<leader>", "c", "a"],
"commands": ["editor.action.quickFix"]
},
{
"before": ["leader", "f", "f"],
"commands": ["workbench.action.quickOpen"]
},
{
"before": ["leader", "f", "w"],
"commands": ["workbench.action.findInFiles"]
},
{ "before": ["leader", "p"], "commands": ["editor.action.formatDocument"] },
{
"before": ["g", "d"],
"commands": ["editor.action.revealDefinition"]
},
{
"before": ["K"],
"commands": ["editor.action.showDefinitionPreviewHover"]
}
],
"vim.visualModeKeyBindings": [
// Stay in visual mode while indenting
{ "before": ["<"], "commands": ["editor.action.outdentLines"] },
{ "before": [">"], "commands": ["editor.action.indentLines"] },
// Move selected lines while staying in visual mode
{ "before": ["J"], "commands": ["editor.action.moveLinesDownAction"] },
{ "before": ["K"], "commands": ["editor.action.moveLinesUpAction"] },
// toggle comment selection
{ "before": ["leader", "/"], "commands": ["editor.action.commentLine"] },
// GitLens yank
{
"before": ["g", "y"],
"commands": ["gitlens.copyRemoteFileUrlToClipboard"]
}
],
"terminal.integrated.fontSize": 14,
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.localEchoExcludePrograms": [
"vim",
"vi",
"nano",
"tmux",
"nvim"
],
"terminal.integrated.scrollback": 10000,
"terminal.integrated.persistentSessionScrollback": 1000
"indentRainbow.indicatorStyle": "light",
"indentRainbow.lightIndicatorStyleLineWidth": 1,
"indentRainbow.colors": [
"rgba(255,255,64,0.4)",
"rgba(127,255,127,0.4)",
"rgba(255,127,255,0.4)",
"rgba(79,236,236,0.4)"
],
"indentRainbow.errorColor": "rgba(0,0,0,0.0)",
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[dart]": {
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.rulers": [80],
"editor.selectionHighlight": false,
"editor.suggestSelection": "first",
"editor.tabCompletion": "onlySnippets",
"editor.wordBasedSuggestions": "off",
"editor.inlayHints.enabled": "on"
},
"git.openRepositoryInParentFolders": "always",
"git.enableSmartCommit": true,
"git.confirmSync": false,
"gitlens.currentLine.dateFormat": null,
"gitlens.currentLine.enabled": true,
"gitlens.currentLine.format": " ${author, }${agoOrDate}${' via 'pullRequest}${ • message|50?}",
"gitlens.currentLine.pullRequests.enabled": true,
"gitlens.currentLine.scrollable": true,
"javascript.inlayHints.enumMemberValues.enabled": true,
"javascript.inlayHints.functionLikeReturnTypes.enabled": true,
"javascript.inlayHints.parameterNames.enabled": "all",
"javascript.inlayHints.parameterTypes.enabled": true,
"javascript.inlayHints.propertyDeclarationTypes.enabled": true,
"javascript.inlayHints.variableTypes.enabled": true,
"typescript.inlayHints.enumMemberValues.enabled": true,
"typescript.inlayHints.functionLikeReturnTypes.enabled": true,
"typescript.inlayHints.parameterNames.enabled": "all",
"typescript.inlayHints.parameterTypes.enabled": true,
"typescript.inlayHints.propertyDeclarationTypes.enabled": true,
"typescript.inlayHints.variableTypes.enabled": true,
"rainbowTags.colors": ["#d20f39", "#df8e1d", "#40a02b", "#179299", "#6c6f85"],
"rainbowTags.hightlightType": "color",
"rainbowTags.allowEverywhere": true,
"dart.devToolsTheme": "light",
"dart.flutterHotReloadOnSave": "all"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment