Skip to content

Instantly share code, notes, and snippets.

@DanielHemmati
Last active November 7, 2022 08:23
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 DanielHemmati/adc87b4486eccaa21ea0bc0810e14425 to your computer and use it in GitHub Desktop.
Save DanielHemmati/adc87b4486eccaa21ea0bc0810e14425 to your computer and use it in GitHub Desktop.
just in case of fire
// Place your key bindings in this file to override the defaults
[
// {
// "key": "shift+ctrl+=",
// "command": "editor.action.fontZoomIn"
// },
// {
// "key": "ctrl+=",
// "command": "editor.action.fontZoomIn"
// },
{
"key": "ctrl+i",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+i",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "alt+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+down",
"command": "-editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+x",
"when": "terminalFocus",
"command": "workbench.action.terminal.kill"
},
{
"key": "ctrl+numpad_add",
"command": "editor.action.fontZoomIn"
},
{
"key": "ctrl+numpad_subtract",
"command": "editor.action.fontZoomOut"
},
{
"key": "shift+ctrl+-",
"command": "editor.action.fontZoomOut"
},
{
"key": "ctrl+-",
"command": "editor.action.fontZoomOut"
},
{
"key": "ctrl+numpad0",
"command": "editor.action.fontZoomReset"
},
{
"key": "ctrl+0",
"command": "editor.action.fontZoomReset"
},
{
"key": "end",
"command": "cursorEnd",
"when": "textInputFocus"
},
{
"key": "end",
"command": "-cursorEnd",
"when": "textInputFocus"
},
// {
// "key": "end",
// "command": "-extension.vim_end",
// "when": "editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'Insert'"
// },
// {
// "key": "escape",
// "command": "extension.vim_escape",
// "when": "editorTextFocus && vim.active && !inDebugRepl"
// },
// {
// "key": "escape",
// "command": "-extension.vim_escape",
// "when": "editorTextFocus && vim.active && !inDebugRepl"
// },
{
"key": "ctrl+1",
"command": "workbench.action.openEditorAtIndex1"
},
{
"key": "ctrl+2",
"command": "workbench.action.openEditorAtIndex2"
},
{
"key": "ctrl+3",
"command": "workbench.action.openEditorAtIndex3"
},
{
"key": "ctrl+4",
"command": "workbench.action.openEditorAtIndex4"
},
{
"key": "ctrl+5",
"command": "workbench.action.openEditorAtIndex5"
},
{
"key": "ctrl+6",
"command": "workbench.action.openEditorAtIndex6"
},
{
// we can delete this
"key": "ctrl+;",
"command": "workbench.action.terminal.clear"
},
{
"key": "ctrl+up",
"command": "workbench.action.terminal.scrollToPreviousCommand",
"when": "terminalFocus"
},
{
"key": "ctrl+down",
"command": "workbench.action.terminal.scrollToNextCommand",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+up",
"command": "workbench.action.terminal.selectToPreviousCommand",
"when": "terminalFocus"
},
{
"key": "ctrl+shift+down",
"command": "workbench.action.terminal.selectToNextCommand",
"when": "terminalFocus"
},
{
// trigger suggestion
"key": "shift+space",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
},
{
"key": "ctrl+space",
"command": "-editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
},
{
"key": "ctrl+9",
"command": "python.execInTerminal"
},
{
"key": "ctrl+9",
"command": "-workbench.action.lastEditorInGroup"
},
// vim navigation next level changed 30.9.2020
{
"key": "ctrl+j",
"command": "workbench.action.focusBelowGroup"
},
// {
// "key": "ctrl+w j",
// "command": "workbench.action.focusBelowGroup"
// },
{
"key": "ctrl+k",
"command": "workbench.action.focusAboveGroup"
},
{
"key": "ctrl+h",
"command": "workbench.action.focusLeftGroup"
},
{
"key": "ctrl+l",
"command": "workbench.action.focusRightGroup"
},
// this 4 is helpful when you want to change the place of groups
{
"key": "ctrl+b down",
"command": "workbench.action.moveActiveEditorGroupDown"
},
{
"key": "ctrl+b up",
"command": "workbench.action.moveActiveEditorGroupUp"
},
{
"key": "ctrl+b left",
"command": "workbench.action.moveActiveEditorGroupLeft"
},
{
"key": "ctrl+b right",
"command": "workbench.action.moveActiveEditorGroupRight"
},
// all of this four is for when you wantto come out of the
// insert mode, i mean i like it, let's see how it goes
// change this for windows
{
// 15.10.2020 added
"key": "alt+j",
"command": "extension.vim_escape",
"when": "editorTextFocus && vim.active && vim.mode == 'Insert'"
},
// {
// "key": "alt+j",
// "command": "extension.vim_escape",
// "when": "editorTextFocus && vim.active && vim.mode == 'Insert'"
// },
// {
// "key": "alt+k",
// "command": "extension.vim_escape",
// "when": "editorTextFocus && vim.active && vim.mode == 'Insert'"
// },
// {
// "key": "alt+l",
// "command": "extension.vim_escape",
// "when": "editorTextFocus && vim.active && vim.mode == 'Insert'"
// },
{
// "key": "ctrl+shift+tab",
"key": "alt+i",
"command": "workbench.action.focusNextGroup"
},
{
"key": "alt+i",
"command": "workbench.action.previousEditorInGroup"
},
{
"key": "alt+o",
"command": "workbench.action.nextEditorInGroup"
},
// minimize other editor
{
"key": "ctrl+b shift+-",
"command": "workbench.action.minimizeOtherEditors"
},
{
"key": "ctrl+b =",
"command": "workbench.action.evenEditorWidths"
},
{
"key": "ctrl+b v",
"command": "workbench.action.splitEditorRight"
},
{
"key": "ctrl+b s",
"command": "workbench.action.splitEditorDown"
},
// {
// "key": "ctrl+b c",
// "command": "workbench.action.closeActiveEditor"
// },
{
// IDK :| that's all i got for now
"key": "alt+q",
// because i want to reverse search command line history
"when": "editorFocus",
"command": "workbench.action.closeActiveEditor"
},
// splittin window
{
"key": "ctrl+b shift+k",
"command": "workbench.action.moveEditorToAboveGroup"
},
{
"key": "ctrl+b shift+j",
"command": "workbench.action.moveEditorToBelowGroup"
},
{
"key": "ctrl+b shift+h",
"command": "workbench.action.moveEditorToLeftGroup"
},
{
"key": "ctrl+b shift+l",
"command": "workbench.action.moveEditorToRightGroup"
},
// idk how does it work
{
"key": "ctrl+b",
"command": "-extension.vim_ctrl+b",
"when": "editorTextFocus && vim.active && vim.use<C-b> && !inDebugRepl && vim.mode != 'Insert'"
},
{
"key": "ctrl+k",
"command": "-extension.vim_ctrl+k",
"when": "editorTextFocus && vim.active && vim.use<C-k> && !inDebugRepl"
},
{
"key": "ctrl+b b",
"command": "workbench.action.toggleSidebarVisibility"
},
// {
// "key": "ctrl+b",
// "command": "-workbench.action.toggleSidebarVisibility"
// },
{
"key": "ctrl+b a",
"command": "workbench.action.toggleActivityBarVisibility"
},
{
"key": "ctrl+alt+p",
"command": "workbench.files.action.showActiveFileInExplorer"
},
{
"key": "ctrl+b n",
"command": "workbench.action.nextSideBarView"
},
{
"key": "ctrl+b p",
"command": "workbench.action.previousSideBarView"
},
{
"key": "ctrl+b m",
"command": "workbench.action.toggleMenuBar"
},
{
"key": "ctrl+b s",
"command": "workbench.action.toggleStatusbarVisibility"
},
{
"key": "ctrl+b l",
"command": "workbench.action.toggleSidebarPosition"
},
{
"key": "ctrl+b o",
"command": "outline.focus"
},
{
// "key": "ctrl+b e", focus on file explorer
"key": "ctrl+alt+o",
"command": "workbench.files.action.focusFilesExplorer"
},
// focus is not enough we should focus on the input
// but for now is awesome
{
// {
// "key": "ctrl+w =",
// "command": "workbench.action.evenEditorWidths"
// }
"key": "ctrl+b r",
"command": "search.action.focusSearchList"
},
// {
// "key": "ctrl+' l",
// "command": "workbench.action.togglePanelPosition"
// print()},
{
"key": "ctrl+' '",
"command": "workbench.action.togglePanel"
},
{
"key": "ctrl+' c",
"command": "workbench.debug.panel.action.clearReplAction",
"when": "inDebugRepl"
},
{
"key": "meta+l",
"command": "-workbench.debug.panel.action.clearReplAction",
"when": "inDebugRepl"
},
{
"key": "ctrl+' n",
"command": "workbench.action.nextPanelView"
},
{
"key": "ctrl+' p",
"command": "workbench.action.previousPanelView"
},
// maximize terminal
{
"key": "alt+shift+=",
"command": "workbench.action.toggleMaximizedPanel"
},
{
// delete the word left (it works well with pytho)
// var naming
"key": "alt+u",
"command": "deleteWordPartLeft"
},
// terminal place yo know? #where_should my terminal be
{
"key": "ctrl+' r",
"command": "workbench.action.positionPanelRight"
},
{
"key": "ctrl+' b",
"command": "workbench.action.positionPanelBottom"
},
{
"key": "ctrl+' l",
"command": "workbench.action.positionPanelLeft"
},
// i added in 26/2/2020, this is for when you are in and you want
// to go to the next different shell, for me for example is powershell
{
"key": "ctrl+shift+j",
"command": "workbench.action.terminal.focusNext"
},
{
"key": "ctrl+shift+k",
"command": "workbench.action.terminal.focusPrevious"
},
{
"key": "alt+n",
"command": "extension.openInDefaultBrowser"
},
{
// i change it to e because, i want to use ctrl+d for indentaion in insert mode
"key": "ctrl+q f12",
"command": "editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
// {
// "key": "ctrl+u",
// "command": "workbench.action.terminal.deleteWordLeft",
// "when": "terminalFocus"
// },
{
"key": "ctrl+k f12",
"command": "-editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
// this is funny, because it can also cycle in the terminal
// i keep it here until there is a better solution for it
{
"key": "alt+n",
"command": "workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus"
},
{
"key": "alt+left",
"command": "-workbench.action.terminal.focusPreviousPane",
"when": "terminalFocus"
},
{
"key": "ctrl+e",
"command": "-workbench.action.quickOpen"
},
{
"key": "alt+shift+[",
"command": "editor.emmet.action.matchTag",
"when": "editorTextFocus && editorLangId == 'html'"
},
{
"key": "ctrl+h",
"command": "-editor.action.startFindReplaceAction"
},
// ctrl+h is for fuzzy file finder, because i want to use ctrl+p for terminla
{
"key": "ctrl+o",
"command": "workbench.action.quickOpen"
// "when": "editorTextFocus && terminalFocus"
},
{
"key": "ctrl+[",
"command": "-extension.vim_ctrl+[",
"when": "editorTextFocus && vim.active && vim.use<C-[> && !inDebugRepl"
},
{
"key": "ctrl+n",
"command": "-workbench.action.files.newUntitledFile"
},
{
// going to last cursor location, lucky that i find this
"key": "alt+m",
"command": "extension.vim_ctrl+o"
},
{
// this will only work when we are in the markdown env
"key": "ctrl+m",
"command": "markdown.extension.editing.toggleMath",
"when": "editorTextFocus && !editorReadonly && editorLangId == 'markdown'"
},
{
"key": "ctrl+n",
"command": "-extension.vim_ctrl+n",
"when": "editorTextFocus && vim.active && vim.use<C-n> && !inDebugRepl || vim.active && vim.use<C-n> && !inDebugRepl && vim.mode == 'CommandlineInProgress' || vim.active && vim.use<C-n> && !inDebugRepl && vim.mode == 'SearchInProgressMode'"
},
{
"key": "ctrl+n",
"command": "extension.vim_ctrl+n"
},
{
// the first default one
"key": "alt+shift+e",
"command": "workbench.view.explorer"
},
{
// it's an extension
// matching html extension
"key": "shift+alt+[",
"command": "highlight-matching-tag.jumpToMatchingTag"
},
{
// if you are in the terminal you can not use ctrl+p
// which is exactly what it want
"key": "ctrl+p",
"command": "-workbench.action.quickOpen"
},
{
"key": "ctrl+b g",
"command": "gistpad.gists.focus"
},
{
"key": "ctrl+shift+i",
"command": "-emojisense.quickEmojitext",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+v",
"command": "-markdown.showPreview",
"when": "!notebookEditorFocused && editorLangId == 'markdown'"
},
{
"key": "ctrl+shift+v",
"command": "-markdown.extension.togglePreview",
"when": "!terminalFocus"
},
{
"key": "alt+e e",
"command": "clipboard-manager.editor.pickAndPaste",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "alt+e c",
"command": "clipboard-manager.history.clear"
},
{
"key": "ctrl+shift+v",
"command": "-clipboard-manager.editor.pickAndPaste",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "ctrl+b c",
"command": "clipboardHistory.focus"
},
{
// we do this with vim
"key": "ctrl+alt+k",
"command": "-bookmarks.toggle",
"when": "editorTextFocus"
},
{
// make new file
"key": "ctrl+alt+n",
"command": "explorer.newFile"
},
{
// make new folder
"key": "ctrl+alt+m",
"command": "explorer.newFolder"
},
{
"key": "ctrl+t ,",
"command": "workbench.action.terminal.rename"
},
{
"key": "ctrl+t t",
"command": "workbench.action.terminal.split",
"when": "terminalFocus && terminalProcessSupported"
},
/* -------------------------- reseize the termianl -------------------------- */
{
// change the size of the terminal
"key": "ctrl+shift+right",
"command": "workbench.action.terminal.resizePaneRight",
"when": "terminalFocus && terminalProcessSupported"
},
{
// change the size of the terminal
"key": "ctrl+shift+up",
"command": "workbench.action.terminal.resizePaneUp",
"when": "terminalFocus && terminalProcessSupported"
},
{
// change the size of the terminal
"key": "ctrl+shift+down",
"command": "workbench.action.terminal.resizePaneDown",
"when": "terminalFocus && terminalProcessSupported"
},
{
"key": "alt+f",
"command": "editor.action.formatDocument",
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
},
{
"key": "shift+alt+f",
"command": "-editor.action.formatDocument",
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
},
{
"key": "alt+h",
"command": "code-runner.run"
},
{
"key": "ctrl+alt+n",
"command": "-code-runner.run"
},
{
"key": "",
"command": "workbench.action.files.openFolder",
"when": "openFolderWorkspaceSupport"
},
{
// i don't even use this
"key": "ctrl+shift+left",
"command": "-cursorWordLeftSelect",
"when": "textInputFocus && !accessibilityModeEnabled"
},
{
"key": "ctrl+shift+left",
"command": "workbench.action.terminal.resizePaneLeft"
},
{
"key": "shift+alt+r",
"command": "revealFileInOS",
"when": "!editorFocus"
},
{
"key": "shift+alt+r",
"command": "-revealFileInOS",
"when": "!editorFocus"
},
{
// i kept pressing this keybinding and it went into my nerves
"key": "ctrl+shift+w",
"command": "-workbench.action.closeWindow"
},
{
"key": "ctrl+alt+r",
"command": "workbench.action.openRecent"
},
{
"key": "ctrl+r",
"command": "-workbench.action.openRecent"
},
{
// also jupyter have this keyboard shortcut, but we use vim. so not worries
"key": "ctrl+alt+]",
"command": "workbench.action.closeEditorsToTheRight"
},
{
// it only works when you are focusing on the terminal
"key": "ctrl+k",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus"
},
{
// it only works when you are focusing on the terminal
"key": "ctrl+j",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus"
},
{
"key": "ctrl+m",
"command": "-editor.action.toggleTabFocusMode"
},
// {
// "key": "cmd+f", // "ctrl+f" on Windows/Linux
// "command": "-list.find",
// "when": "listFocus && listSupportsFind"
// }
]
{
// "editor.rulers": [140] // if you ever wanted it
"editor.lineHeight": 25, // it works really well with vim
// bracket colorize
"editor.bracketPairColorization.enabled": true,
"editor.guides.highlightActiveBracketPair": true,
"editor.guides.bracketPairsHorizontal": "active",
"editor.guides.bracketPairs": "active",
"editor.autoClosingBrackets": "always",
"editor.detectIndentation": false,
"editor.suggest.showStatusBar": true,
"editor.fontFamily": "'FiraCode Nerd Font', 'Segoe UI Emoji', 'Segoe UI Symbol'",
"editor.fontLigatures": true,
"editor.acceptSuggestionOnCommitCharacter": false, // remove autocomplete when i press dot (.)
// https://github.com/Microsoft/vscode/issues/28380#issuecomment-307512874
"editor.parameterHints.enabled": false,
"editor.fontSize": 14,
// "editor.fontSize": 25,
"editor.minimap.enabled": false,
"editor.wordWrap": "on",
"editor.formatOnPaste": true,
"editor.formatOnType": true,
// is it good though? idk really
"editor.formatOnSave": false, // i did because of import stuf
"editor.renderWhitespace": "trailing",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.insertSpaces": true,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
"editor.quickSuggestionsDelay": 9, // does thsi make it faster
"workbench.editor.enablePreview": false,
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "Community Material Theme Palenight",
"materialTheme.accent": "Orange",
"workbench.editorAssociations": {
"*.ipynb": "jupyter-notebook"
},
"workbench.startupEditor": "none",
"workbench.sideBar.location": "right",
"workbench.colorCustomizations": {
"[Palenight Theme]": {
"editor.findMatchHighlightBackground": "#e3f8222d",
"editor.lineHighlightBackground": "#8a91991a"
},
"[Palenight Italic]": {
"editor.findMatchHighlightBackground": "#e3f8222d"
},
"[Palenight Operator]": {
"editor.findMatchHighlightBackground": "#e3f8222d"
},
"[Palenight (Mild Contrast)]": {
"editor.findMatchHighlightBackground": "#e3f8222d",
"panel.border": "#7e57c2a2",
"panelTitle.activeBorder": "#7e57c262",
"editorGroup.border": "#7e57c2a2",
"editorCursor.foreground": "#FFCC00"
},
"[Community Material Theme Palenight]": {
"editor.findMatchHighlightBackground": "#e3f8222d",
"panel.border": "#7e57c2a2",
"panelTitle.activeBorder": "#7e57c262",
"editorGroup.border": "#7e57c2a2",
"sideBar.border": "#7e57c2a2"
},
"[Material Theme]": {
"activityBarBadge.background": "#FF7042",
"activityBar.activeBorder": "#FF7042",
"list.activeSelectionForeground": "#FF7042",
"list.inactiveSelectionForeground": "#FF7042",
"list.highlightForeground": "#FF7042",
"scrollbarSlider.activeBackground": "#FF704250",
"editorSuggestWidget.highlightForeground": "#FF7042",
"textLink.foreground": "#FF7042",
"progressBar.background": "#FF7042",
"pickerGroup.foreground": "#FF7042",
"tab.activeBorder": "#FF7042",
"notificationLink.foreground": "#FF7042",
"editorWidget.resizeBorder": "#FF7042",
"editorWidget.border": "#FF7042",
"settings.modifiedItemIndicator": "#FF7042",
"settings.headerForeground": "#FF7042",
"panelTitle.activeBorder": "#FF7042",
"breadcrumb.activeSelectionForeground": "#FF7042",
"menu.selectionForeground": "#FF7042",
"menubar.selectionForeground": "#FF7042",
"editor.findMatchBorder": "#FF7042",
"selection.background": "#FF704240",
"statusBarItem.remoteBackground": "#FF7042"
}
},
"editor.semanticTokenColorCustomizations": {
"enabled": true,
"[Tokyo Night Storm]": {
"rules": {
"parameter": "#E0AF68"
}
},
"[Palenight (Mild Contrast)]": {
"rules": {
"parameter": "#d9acd8"
}
}
},
"window.titleBarStyle": "custom",
"window.customMenuBarAltFocus": false,
"window.enableMenuBarMnemonics": false,
"window.menuBarVisibility": "compact",
/* -------------------------------- terminal -------------------------------- */
"terminal.integrated.fontFamily": "'FiraCode Nerd Font', 'Segoe UI Emoji', 'Segoe UI Symbol'",
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.fontSize": 13,
"terminal.integrated.scrollback": 10000,
"terminal.external.windowsExec": "C:\\Program Files\\Git\\git-bash.exe",
"terminal.integrated.defaultProfile.windows": "Git Bash",
// "terminal.external.linuxExec": "kitty",
/* -------------------------------------------------------------------------- */
/* Vim */
/* -------------------------------------------------------------------------- */
// we don't need that in here
// "vim.easymotionMarkerHeight": 21,
"vim.statusBarColorControl": false,
"vim.easymotion": true,
"vim.sneak": true,
"vim.surround": true,
"vim.useSystemClipboard": true,
"vim.incsearch": true,
"vim.hlsearch": true,
"vim.leader": "<space>",
"vim.smartcase": true,
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["<leader>", "q"],
"commands": [":tabonly"]
},
{
"before": ["<leader>", "w"],
"commands": [":wq"]
},
{
"before": ["<leader>", "s"],
"commands": [":w"]
},
// i this this key too much
// {
// "before": ["<Esc>"],
// "commands": ["workbench.action.files.save"]
// },
{
"before": ["<leader>", "n"],
"commands": [":nohl"]
},
{
"before": ["<leader>", "m"],
"commands": ["bookmarks.toggle"]
},
{
"before": ["<leader>", "b"],
"commands": ["bookmarks.list"]
},
{
"before": ["<leader>", "l"],
"commands": ["bookmarks.listFromAllFiles"]
},
{
"before": ["<leader>", "t"],
"commands": ["bookmarks.toggleLabeled"]
},
{
// todo: you can delete me
"before": ["<leader>", "j"],
"commands": ["flutter.hotRestart"] // this will restart the state of the app
},
// this are for makrdown => you can use it all places
{
"before": ["g", "R"],
"commands": ["references-view.find"]
},
{
// alt+with mouse will show the entier interface.
// but the gh alone won't show it, that's why i ad this
// might remove it, bc gh was enought i don't what has happend
"before": ["g", ";"],
"commands": ["editor.action.showDefinitionPreviewHover"]
},
// peek references inline with gr
{
"before": ["g", "r"],
"commands": ["editor.action.referenceSearch.trigger"]
},
// open definition in new editor group with gs
{
"before": ["g", "s"],
"commands": ["editor.action.revealDefinitionAside"]
},
{
// peek definition inline with gp => this was gD i change it
"before": ["g", "p"],
"commands": ["editor.action.peekDefinition"]
},
{
// open link with gx
"before": ["g", "x"],
"commands": ["editor.action.openLink"]
},
{
// gt was default in vim for going to next tab, but i do that with
// alt o and alt i
"before": ["g", "t"],
"commands": ["editor.emmet.action.matchTag"]
},
{
// changing easymotion shortcut
"before": ["g", "l"],
"after": ["leader", "leader", "w"]
},
{
// changing easymotion shorcut
"before": ["g", "n"],
"after": ["leader", "leader", "b"]
},
// Have j and k navigate visual lines rather than logical ones
{
"before": ["j"],
"after": ["g", "j"]
},
{
"before": ["k"],
"after": ["g", "k"]
}
// https://github.com/VSCodeVim/Vim/issues/4241
// {
// "before": ["D"],
// "after": ["\"", "_", "D"]
// },
// {
// "before": ["d", "d"],
// "after": ["\"", "_", "d", "d"]
// }
],
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false,
"<C-c>": false,
"<C-x>": false
},
/* -------------------------------------------------------------------------- */
/* langauge specific config */
/* -------------------------------------------------------------------------- */
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
// i want to tell when it should formatted
"editor.formatOnSave": false,
// https://www.reddit.com/r/vscode/comments/kwc539/disabling_font_ligatures_for_specific_language/
"editor.fontLigatures": false
},
"[css]": {
// you can delete this two, if you want
"editor.suggest.insertMode": "replace",
// "gitlens.codeLens.scopes": ["document"],
"editor.tabSize": 2,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[postcss]": {
"editor.tabSize": 2
},
"[scss]": {
"editor.tabSize": 2,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.detectIndentation": false
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.autoClosingBrackets": "languageDefined",
"editor.tabSize": 2
},
// so it won't make html tag for u anymore
// "emmet.excludeLanguages": ["javascript"],
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.quickSuggestions": {
"other": false,
"comments": false,
"strings": false
},
"editor.tabSize": 2
},
"[go]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"editor.tabSize": 4
},
"gopls": { "ui.semanticTokens": true },
"[prisma]": {
"editor.defaultFormatter": "Prisma.prisma",
"editor.formatOnSave": true
},
"[python]": {
"editor.insertSpaces": true,
"editor.tabSize": 4
},
"python.formatting.autopep8Args": ["--select", "E,W"],
"python.formatting.provider": "autopep8",
"[shellscript]": {
"files.eol": "\n",
"editor.tabSize": 2
},
"C_Cpp.default.cppStandard": "c++17",
// https://stackoverflow.com/questions/46111834/format-curly-braces-on-same-line-in-c-vscode
// https://google.github.io/styleguide/cppguide.html#Spaces_vs._Tabs
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 2, ColumnLimit: 0}",
"[cpp]": {
"editor.rulers": [80],
"editor.formatOnSave": false,
"editor.tabSize": 2
},
"[c]": {
"editor.wordBasedSuggestions": false,
"editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true,
"editor.tabSize": 2,
"editor.defaultFormatter": "ms-vscode.cpptools"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
/* -------------------------------- markdownLint -------------------------------- */
// for some reason it was showing linter for .env files 😂
"markdownlint.ignore": [".env*"],
/* -------------------------------- prettier -------------------------------- */
"prettier.htmlWhitespaceSensitivity": "ignore",
"prettier.semi": true,
/* ------------------------------- liveserver ------------------------------- */
"liveServer.settings.CustomBrowser": "chrome",
"liveServer.settings.donotShowInfoMsg": true,
/* ------------------------------ fontshortcut ------------------------------ */
// we might use it again
// "fontshortcuts.defaultFontSize": 14,
// "fontshortcuts.defaultTerminalFontSize": 14,
// "fontshortcuts.step": 1,
/* -------------------------------- clipboard ------------------------------- */
"clipboard-manager.onlyWindowFocused": false,
"clipboard-manager.saveTo": "~/.vscodeClipbord",
"clipboard-manager.preview": false,
"clipboard-manager.snippet.enabled": false,
"clipboard-manager.maxClips": 10,
/* ------------------------------- pasteImage ------------------------------- */
// maybe we use it when we are writing md
// "pasteImage.showFilePathConfirmInputBox": true,
// "pasteImage.filePathConfirmInputBoxMode": "onlyName",
// "pasteImage.path": "${projectRoot}/images/1/",
/* --------------------------------- python --------------------------------- */
"python.languageServer": "Pylance",
/* ------------------------------- tailwindcss ------------------------------ */
"css.validate": false,
"tailwindCSS.includeLanguages": {
"plaintext": "html"
},
/* ------------------------------ :smojisense: ------------------------------ */
"emojisense.unicodeCompletionsEnabled": true,
"emojisense.languages": {
"markdown": true,
"json": true,
"javascript": true,
"python": true,
"plaintext": {
"markupCompletionsEnabled": false,
"emojiDecoratorsEnabled": false
},
"scminput": true,
"git-commit": true
},
"files.autoSave": "onFocusChange",
"files.exclude": {
// set to fales if you want to see .git folder
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true
// "**/node_modules/":true
},
"snippet.verbose": true,
// i don't want ot see that abc bulllshit in autocomlete
// https://stackoverflow.com/questions/54827043/how-to-disable-abc-suggestion-on-vs-code
"javascript.suggest.names": false,
"css.completion.completePropertyWithSemicolon": false,
"explorer.compactFolders": false,
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
// "telemetry.enableTelemetry": false,
"explorer.confirmDragAndDrop": false,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
},
/* ----------------------------- Dart & flutter ----------------------------- */
// we might delete this
"dart.previewLsp": true,
//* https://stackoverflow.com/questions/49312440/disable-vscode-comments-flutter
// "dart.closingLabels": false,
"[dart]": {
// Automatically format code on save and during typing of certain characters
// (like `;` and `}`).
"editor.formatOnSave": true,
"editor.formatOnType": true,
// "editor.defaultFormatter": "Dart-Code.dart-code",
// Draw a guide line at 80 characters, where Dart's formatting will wrap code.
"editor.rulers": [80],
// Disables built-in highlighting of words that match your selection. Without
// this, all instances of the selected text will be highlighted, interfering
// with Dart's ability to highlight only exact references to the selected variable.
"editor.selectionHighlight": false,
// By default, VS Code prevents code completion from popping open when in
// "snippet mode" (editing placeholders in inserted code). Setting this option
// to `false` stops that and allows completion to open as normal, as if you
// weren't in a snippet placeholder.
"editor.suggest.snippetsPreventQuickSuggestions": false,
// By default, VS Code will pre-select the most recently used item from code
// completion. This is usually not the most relevant item.
//
// "first" will always select top item
// "recentlyUsedByPrefix" will filter the recently used items based on the
// text immediately preceding where completion was invoked.
"editor.suggestSelection": "first",
// Allows pressing <TAB> to complete snippets such as `for` even when the
// completion list is not visible.
"editor.tabCompletion": "onlySnippets",
// By default, VS Code will populate code completion with words found in the
// current file when a language service does not provide its own completions.
// This results in code completion suggesting words when editing comments and
// strings. This setting will prevent that.
"editor.wordBasedSuggestions": false
},
"redhat.telemetry.enabled": false,
"vsicons.dontShowNewVersionMessage": true,
"gitlens.advanced.messages": {
"suppressGitMissingWarning": true
},
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"*": false,
"yaml": false,
"plaintext": false,
"markdown": false,
"python": false,
"javascript": false,
"c": false
},
"notebook.cellToolbarLocation": {
"default": "right",
"jupyter-notebook": "left"
},
"editor.multiCursorModifier": "ctrlCmd",
/* -------------------------------- php ------------------------------- */
"phpformatter.composer": true,
/* -------------------------------- jupyter-notebook ------------------------------- */
"notebook.lineNumbers": "on",
"jupyter.askForKernelRestart": false,
/* -------------------------------- code runner ------------------------------- */
"code-runner.runInTerminal": true,
// https://stackoverflow.com/questions/69833055/change-the-version-to-python-3-in-virtual-studio-code-vs-code-if-code-runner-u
"code-runner.enableAppInsights": false, // disable telemetry
"code-runner.executorMap": {
"javascript": "node",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
// -g should be there if you want to debug with gdb (both c & cpp)
"c": "cd $dir && gcc -Wall -g $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ -g $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"php": "php",
"python": "python3 -u",
"perl": "perl",
"perl6": "perl6",
"ruby": "ruby",
"go": "go run",
"lua": "lua",
"groovy": "groovy",
"powershell": "powershell -ExecutionPolicy ByPass -File",
"bat": "cmd /c",
"shellscript": "bash",
"fsharp": "fsi",
"csharp": "scriptcs",
"vbscript": "cscript //Nologo",
"typescript": "ts-node",
"coffeescript": "coffee",
"scala": "scala",
"swift": "swift",
"julia": "julia",
"crystal": "crystal",
"ocaml": "ocaml",
"r": "Rscript",
"applescript": "osascript",
"clojure": "lein exec",
"haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
"rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
"racket": "racket",
"scheme": "csi -script",
"ahk": "autohotkey",
"autoit": "autoit3",
"dart": "dart",
"pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
"d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
"haskell": "runhaskell",
"nim": "nim compile --verbosity:0 --hints:off --run",
"lisp": "sbcl --script",
"kit": "kitc --run",
"v": "v run",
"sass": "sass --style expanded",
"scss": "scss --style expanded",
"less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
"FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},
"[vue]": {
// "editor.defaultFormatter": "octref.vetur"
},
"explorer.confirmDelete": false,
"sync.gist": "2ccf7a2a9ad55aae50941d52c90a5448",
"material-ui-snippets.showNotesOnStartup": false,
"gitlens.showWelcomeOnInstall": false,
/*
when you go to the definition of the function,
you will also see the file explorer is expanded with it
and then you should also collapse folder.
if you set this setting to false, this default behaviour won't
happen again. see this link for more information:
https://www.mslinn.com/blog/2021/03/22/vscode-notes.html#reveal
and you can use this breadcumber to see the path 👇
*/
"explorer.autoReveal": false,
"telemetry.telemetryLevel": "off",
/* ---------------------------------- debug global --------------------------------- */
// Causes the debug view to automatically appear when a breakpoint is hit. This
// setting is global and not configurable per-language.
"debug.openDebug": "openOnDebugBreak",
"debug.inlineValues": "on",
"remote.SSH.remotePlatform": {
"192.168.1.194": "linux"
},
"editor.lineNumbers": "relative",
/* ----------------------------- REST client ext ---------------------------- */
"rest-client.enableTelemetry": false,
"rest-client.previewResponseInUntitledDocument": true,
"typescript.updateImportsOnFileMove.enabled": "always",
// "typescript.tsserver.log": "verbose", if you want to debug intellisense
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment