mirror of https://github.com/sgoudham/dotfiles.git
feat: add VsCode config
parent
6de3415861
commit
6a47ac33f5
@ -0,0 +1,224 @@
|
||||
// Place your key bindings in this file to override the defaults
|
||||
[
|
||||
// Explorer - Functionality
|
||||
{
|
||||
"key": "l",
|
||||
"command": "workbench.explorer.fileView.focus",
|
||||
"when": "!editorFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "a",
|
||||
"command": "explorer.newFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+a",
|
||||
"command": "explorer.newFolder",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "y",
|
||||
"command": "filesExplorer.copy",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "x",
|
||||
"command": "filesExplorer.cut",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "p",
|
||||
"command": "filesExplorer.paste",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "r",
|
||||
"command": "renameFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "d",
|
||||
"command": "moveFileToTrash",
|
||||
"when": "explorerResourceMoveableToTrash && explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+d",
|
||||
"command": "deleteFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "c",
|
||||
"command": "workbench.files.action.collapseExplorerFolders",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "s",
|
||||
"command": "explorer.openToSide",
|
||||
"when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "f",
|
||||
"command": "revealFileInOS",
|
||||
"when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "t",
|
||||
"command": "openInTerminal",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "u",
|
||||
"command": "copyFilePath",
|
||||
"when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "i",
|
||||
"command": "copyRelativeFilePath",
|
||||
"when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "enter",
|
||||
"command": "list.select",
|
||||
"when": "explorerViewletFocus && explorerViewletVisible && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+-",
|
||||
"command": "workbench.view.explorer",
|
||||
"when": "vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+-",
|
||||
"command": "-workbench.view.explorer",
|
||||
"when": "explorerViewletVisible"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+n",
|
||||
"command": "workbench.action.toggleSidebarVisibility",
|
||||
"when": "vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
|
||||
// Terminal
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "workbench.action.togglePanel"
|
||||
},
|
||||
{
|
||||
"key": "alt+=",
|
||||
"command": "workbench.action.terminal.focus",
|
||||
"when": "vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+=",
|
||||
"command": "workbench.action.focusActiveEditorGroup",
|
||||
"when": "terminalFocus"
|
||||
},
|
||||
|
||||
// Tabs/Editors
|
||||
{
|
||||
"key": "alt+q",
|
||||
"command": "workbench.action.closeActiveEditor"
|
||||
},
|
||||
{
|
||||
"key": "alt+a",
|
||||
"command": "workbench.action.closeAllEditors"
|
||||
},
|
||||
{
|
||||
"key": "alt+,",
|
||||
"command": "workbench.action.closeOtherEditors"
|
||||
},
|
||||
|
||||
// Page Navigation
|
||||
{
|
||||
"key": "alt+n",
|
||||
"command": "scrollLineDown",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+p",
|
||||
"command": "scrollLineUp",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+n",
|
||||
"command": "scrollPageDown",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "alt+p",
|
||||
"command": "scrollPageUp",
|
||||
"when": "textInputFocus"
|
||||
},
|
||||
|
||||
// Move Around Editors
|
||||
{
|
||||
"key": "ctrl+h",
|
||||
"command": "workbench.action.previousEditor",
|
||||
"when": "vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+l",
|
||||
"command": "workbench.action.nextEditor",
|
||||
"when": "vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+h",
|
||||
"command": "workbench.action.focusLeftGroup",
|
||||
"when": "editorTextFocus && vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+l",
|
||||
"command": "workbench.action.focusRightGroup",
|
||||
"when": "editorTextFocus && vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+k",
|
||||
"command": "workbench.action.focusAboveGroup",
|
||||
"when": "editorTextFocus && vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "workbench.action.focusBelowGroup",
|
||||
"when": "editorTextFocus && vim.active && vim.mode != 'Insert'"
|
||||
},
|
||||
|
||||
// Down Motion
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "selectNextSuggestion",
|
||||
"when": "suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "workbench.action.quickOpenSelectNext",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "selectNextCodeAction",
|
||||
"when": "codeActionMenuVisible"
|
||||
},
|
||||
|
||||
// Up Motion
|
||||
{
|
||||
"key": "alt+k",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "alt+k",
|
||||
"command": "workbench.action.quickOpenSelectPrevious",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "alt+k",
|
||||
"command": "selectPrevCodeAction",
|
||||
"when": "codeActionMenuVisible"
|
||||
},
|
||||
|
||||
// LSP
|
||||
{
|
||||
"key": "shift+k",
|
||||
"command": "editor.action.showDefinitionPreviewHover",
|
||||
"when": "editorTextFocus && vim.active && vim.mode != 'Insert'"
|
||||
}
|
||||
]
|
@ -0,0 +1,202 @@
|
||||
{
|
||||
"workbench.startupEditor": "none",
|
||||
"workbench.reduceMotion": "on",
|
||||
"workbench.commandPalette.preserveInput": true,
|
||||
"files.autoSave": "afterDelay",
|
||||
"files.autoSaveDelay": 10,
|
||||
// Theme
|
||||
"workbench.colorTheme": "Catppuccin Mocha",
|
||||
"catppuccin.italicComments": false,
|
||||
"catppuccin.italicKeywords": false,
|
||||
"catppuccin.accentColor": "pink",
|
||||
"window.titleBarStyle": "custom",
|
||||
"workbench.iconTheme": "catppuccin-mocha",
|
||||
// Editor
|
||||
"editor.fontSize": 14,
|
||||
"editor.fontFamily": "Iosevka Term, Symbols Nerd Font, monospace",
|
||||
"editor.fontWeight": "bold",
|
||||
"editor.tabSize": 2,
|
||||
"editor.lineNumbers": "relative",
|
||||
"editor.smoothScrolling": true,
|
||||
"editor.cursorSmoothCaretAnimation": "on",
|
||||
"editor.mouseWheelZoom": true,
|
||||
"editor.minimap.autohide": true,
|
||||
"editor.inlayHints.padding": true,
|
||||
"editor.acceptSuggestionOnEnter": "smart",
|
||||
"editor.bracketPairColorization.independentColorPoolPerBracketType": false,
|
||||
"editor.formatOnSave": false,
|
||||
"editor.suggest.preview": true,
|
||||
"errorLens.fontFamily": "Iosevka Term, Symbols Nerd Font, monospace",
|
||||
"errorLens.fontWeight": "bold",
|
||||
// Terminal
|
||||
"terminal.integrated.defaultProfile.linux": "fish",
|
||||
"terminal.integrated.fontSize": 14,
|
||||
"terminal.integrated.fontWeight": "bold",
|
||||
// Nix
|
||||
"nix.enableLanguageServer": true, // Enable LSP.
|
||||
"nix.serverPath": "/home/hammy/.nix-profile/bin/nil", // The path to the LSP server executable.
|
||||
"[nix]": {
|
||||
"editor.defaultFormatter": "kamadorueda.alejandra",
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnType": false
|
||||
},
|
||||
"alejandra.program": "/home/hammy/.nix-profile/bin/alejandra",
|
||||
// Vim
|
||||
"vim.leader": "<space>",
|
||||
"vim.easymotion": true,
|
||||
"vim.easymotionDimBackground": false,
|
||||
"vim.useSystemClipboard": false,
|
||||
"vim.hlsearch": true,
|
||||
"vim.incsearch": true,
|
||||
"vim.handleKeys": {
|
||||
"<C-a>": false, // select all
|
||||
"<C-c>": false, // copy
|
||||
"<C-x>": false, // cut
|
||||
"<C-v>": false, // paste
|
||||
"<C-f>": false // find
|
||||
},
|
||||
"vim.useCtrlKeys": true,
|
||||
"vim.visualModeKeyBindings": [
|
||||
{
|
||||
"before": [">"],
|
||||
"commands": ["editor.action.indentLines"]
|
||||
},
|
||||
{
|
||||
"before": ["<"],
|
||||
"commands": ["editor.action.outdentLines"]
|
||||
}
|
||||
],
|
||||
"vim.normalModeKeyBindingsNonRecursive": [
|
||||
// Make sure to use VsCode's undo stack -> https://github.com/VSCodeVim/Vim/issues/1490
|
||||
{
|
||||
"before": ["u"],
|
||||
"commands": ["undo"]
|
||||
},
|
||||
{
|
||||
"before": ["<C-r>"],
|
||||
"commands": ["redo"]
|
||||
},
|
||||
// Helpful Stuff
|
||||
{
|
||||
"before": ["/"],
|
||||
"commands": ["actions.find"]
|
||||
},
|
||||
{
|
||||
"before": ["<CR>"],
|
||||
"after": ["o", "<ESC>"]
|
||||
},
|
||||
{
|
||||
"before": ["0"],
|
||||
"after": ["^"]
|
||||
},
|
||||
{
|
||||
"before": ["<leader>", "q"],
|
||||
"commands": ["workbench.action.closeActiveEditor"]
|
||||
},
|
||||
{
|
||||
"before": ["<leader>", "w"],
|
||||
"commands": ["workbench.action.files.save"]
|
||||
},
|
||||
{
|
||||
"before": ["<leader>", "f", "f"],
|
||||
"commands": ["workbench.action.quickOpen"]
|
||||
},
|
||||
{
|
||||
"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>", "a"],
|
||||
"commands": ["workbench.action.showCommands"]
|
||||
},
|
||||
// EasyMotion
|
||||
{
|
||||
"before": ["s"],
|
||||
"after": ["<leader>", "<leader>"]
|
||||
},
|
||||
// Git
|
||||
{
|
||||
"before": ["<leader>", "g", "g"],
|
||||
"commands": ["workbench.view.scm"]
|
||||
},
|
||||
{
|
||||
"before": ["<leader>", "g", "h"],
|
||||
"commands": ["toggle.diff.renderSideBySide"]
|
||||
},
|
||||
{
|
||||
"before": ["<leader>", "g", "p"],
|
||||
"commands": ["git.openChange"]
|
||||
},
|
||||
// LSP
|
||||
{
|
||||
"before": ["<space>", "l", "f"],
|
||||
"commands": ["editor.action.formatDocument"]
|
||||
},
|
||||
{
|
||||
"before": ["<space>", "l", "r"],
|
||||
"commands": ["editor.action.rename"]
|
||||
},
|
||||
{
|
||||
"before": ["<space>", "<space>"],
|
||||
"commands": ["editor.action.quickFix"]
|
||||
},
|
||||
// Tabs
|
||||
{
|
||||
"before": ["<space>", "o"],
|
||||
"commands": ["workbench.action.closeOtherEditors"]
|
||||
}
|
||||
],
|
||||
"[python]": {
|
||||
"editor.formatOnType": false
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[markdown]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"git.autofetch": true,
|
||||
"redhat.telemetry.enabled": false,
|
||||
"[yaml]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"explorer.confirmDragAndDrop": false,
|
||||
"[jsonc]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"git.confirmSync": false,
|
||||
"diffEditor.ignoreTrimWhitespace": false,
|
||||
"[scss]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[css]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"editor.inlineSuggest.enabled": true,
|
||||
"github.copilot.enable": {
|
||||
"*": true,
|
||||
"plaintext": false,
|
||||
"markdown": true,
|
||||
"scminput": false
|
||||
},
|
||||
"rust-analyzer.check.command": "clippy",
|
||||
"[html]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue