My VSCode & VSCodium Settings
These are my settings for VSCode & VSCodium.
User Settings#
Here are my configuration files for VSCode / VSCodium.
Note, you should probably use only what you know you'll use. Less is more. Additionally, some settings will need to have path settings adjusted (notably for language executables and Markdown).
My Settings
settings.json
{
// -- global settings --
// telemetry
"telemetry.telemetryLevel": "off",
"telemetry.feedback.enabled": false,
// security
"security.workspace.trust.enabled" : false,
"security.workspace.trust.untrustedFiles": "open",
// save
"files.autoSave" : "onFocusChange",
// file opening
"workbench.editor.enablePreview": false,
// file formatting
"files.trimTrailingWhitespace" : true,
"files.insertFinalNewline" : true,
"files.trimFinalNewlines" : true,
// startup behavior
"window.restoreWindows": "preserve",
"workbench.startupEditor": "none",
// -- Vim Keybinds --
// vscodevim
// ext install vscodevim.vim
// https://marketplace.visualstudio.com/items?itemName=vscodevim.vim
// https://open-vsx.org/extension/vscodevim/vim
"vim.useSystemClipboard" : true,
"vim.camelCaseMotion.enable": true,
"vim.foldfix" : true,
"vim.whichwrap" : "h,l,<,>,[,]",
"vim.handleKeys" : {
"<C-c>" : false,
"<C-s>" : false,
"<C-S>" : false,
"<C-w>" : false,
"<C-f>" : false,
"<C-t>" : false,
"<C-n>" : false,
"<C-p>" : false,
"<C-u>" : false,
"<C-i>" : false,
"<C-k>" : false,
"<Enter>": false
},
"vim.normalModeKeyBindings": [
{ "before": ["J"], "after" : ["1", "4", "j"] },
{ "before": ["K"], "after" : ["1", "4", "k"] },
{ "before": ["<Space>"], "commands": ["editor.toggleFold"] },
],
"vim.insertModeKeyBindings": [
{ "before": ["k", "j"], "after" : ["<Esc>"] },
{ "before": ["j", "k"], "after" : ["<Esc>"] }
],
"vim.visualModeKeyBindings": [
{"before": [">"], "commands": ["editor.action.indentLines"] },
{"before": ["<"], "commands": ["editor.action.outdentLines"] },
{"before": ["J"], "after" : ["1", "4", "j"] },
{"before": ["K"], "after" : ["1", "4", "k"] },
],
// -- view behavior --
// theme view
"workbench.colorTheme": "Default Light Modern", // Light Theme
// "workbench.colorTheme": "Default Dark+", // Dark Theme
// editor rules
"editor.minimap.enabled": false,
"editor.inlayHints.padding" : true,
"editor.mouseWheelZoom" : true,
"editor.cursorBlinking": "solid",
"editor.tabCompletion" : "off",
"workbench.editor.empty.hint": "hidden",
"editor.renderWhitespace" : "boundary",
"editor.cursorSurroundingLines": 11,
"editor.guides.highlightActiveIndentation": true,
"editor.rulers" : [
80,
120
],
// terminal view
"editor.fontLigatures": false,
// tab view
"workbench.editor.tabSizing" : "fit",
// explorer tree view
"workbench.tree.indent": 16,
"workbench.tree.renderIndentGuides": "always",
"explorer.compactFolders" : false,
"explorer.sortOrder": "filesFirst",
// Preferred Font When Programming, zoomed out -1
// https://github.com/googlefonts/googlesans-code/releases
"editor.fontFamily": "Google Sans Code",
// "editor.fontWeight": "100",
// material icon theme
// ext install PKief.material-icon-theme
// https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme
// https://open-vsx.org/extension/PKief/material-icon-theme
"workbench.iconTheme": "material-icon-theme",
// -- Text Editing Tools --
// Todo Tree
// ext install Gruntfuggly.todo-tree
// https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree
// https://open-vsx.org/extension/Gruntfuggly/todo-tree
// Better Comments
// ext install aaron-bond.better-comments
// https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments
// https://open-vsx.org/vscode/item?itemName=aaron-bond.better-comments
// Simple Hide Files
// ext install sguerri.simple-hide-files
// https://marketplace.visualstudio.com/items?itemName=sguerri.simple-hide-files
// https://open-vsx.org/extension/sguerri/simple-hide-files
// Batch Rename
// ext install JannisX11.batch-rename-extension
// https://marketplace.visualstudio.com/items?itemName=JannisX11.batch-rename-extension
// Batch Rename (VSCodium Port)
// ext install DrInfinite.batch-rename
// https://open-vsx.org/extension/DrInfinite/batch-rename
// Path Intellisense
// ext install christian-kohler.path-intellisense
// https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense
// https://open-vsx.org/extension/christian-kohler/path-intellisense
"path-intellisense.showHiddenFiles": true,
// cSpell
// ext install streetsidesoftware.code-spell-checker
// https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
// https://open-vsx.org/extension/streetsidesoftware/code-spell-checker
// Leave disabled until ready for edit workflow
"cSpell.allowCompoundWords": true,
"cSpell.enabled": false,
"errorLens.delay": 0,
"editor.codeLens": true,
// filesize
// ext install mkxml.vscode-filesize
// https://marketplace.visualstudio.com/items?itemName=mkxml.vscode-filesize
// https://open-vsx.org/extension/mkxml/vscode-filesize
"filesize.displayInfoOnTheRightSideOfStatusBar": true,
"filesize.showGzipInStatusBar": true,
// Project Manager (Multiple Multi-root / Single root project quick-launch)
// ext install alefragnani.project-manager
// https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager
// https://open-vsx.org/extension/alefragnani/project-manager
// rewrap (hard wrapping tool)
// ext install stkb.rewrap
// https://marketplace.visualstudio.com/items?itemName=stkb.rewrap
// https://open-vsx.org/extension/stkb/rewrap
// Draw Folder Structure
// ext install jmkrivocapich.drawfolderstructure
// https://marketplace.visualstudio.com/items?itemName=jmkrivocapich.drawfolderstructure
// https://open-vsx.org/vscode/item?itemName=jmkrivocapich.drawfolderstructure
// vscode-random
// ext install jrebocho.vscode-random
// https://marketplace.visualstudio.com/items?itemName=jrebocho.vscode-random
// https://github.com/jrebocho/vscode-random/issues/63
// -- Version Control Tools --
// Git
"git.enableSmartCommit": true,
"git.blame.statusBarItem.enabled": true,
"git.blame.statusBarItem.template": "${authorName}: [${subject}] (${authorDateAgo}) ",
"git.blame.editorDecoration.enabled": false,
"git.blame.editorDecoration.template": "${authorName}: [${subject}] (${authorDateAgo}) ",
// Git Blame (ONLY IF additional features beyond default git's blame module)
// ext install waderyan.gitblame
// https://marketplace.visualstudio.com/items?itemName=waderyan.gitblame
// https://open-vsx.org/extension/waderyan/gitblame
// "gitblame.inlineMessageFormat": "${author.name} - (${time.ago}) - (${commit.summary})",
// "gitblame.statusBarMessageFormat": "Blame: ${author.name} (${time.ago}) - (${commit.summary})",
// "gitblame.inlineMessageEnabled": true,
// "gitblame.delayBlame": 10000,
// gitignore
// ext install codezombiech.gitignore
// https://marketplace.visualstudio.com/items?itemName=codezombiech.gitignore
// https://open-vsx.org/vscode/item?itemName=codezombiech.gitignore
// -- Programming Text Tools --
// indent rainbow
// ext install oderwat.indent-rainbow
// https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
// https://open-vsx.org/extension/oderwat/indent-rainbow
// Multiple Cursor Case Preserve
// ext install Cardinal90.multi-cursor-case-preserve
// https://marketplace.visualstudio.com/items?itemName=Cardinal90.multi-cursor-case-preserve
// https://open-vsx.org/extension/Cardinal90/multi-cursor-case-preserve
// Better Align
// ext install Chouzz.vscode-better-align
// https://marketplace.visualstudio.com/items?itemName=Chouzz.vscode-better-align
// https://open-vsx.org/extension/chouzz/vscode-better-align
// Color Highlight
// ext install naumovs.color-highlight
// https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight
// https://open-vsx.org/extension/naumovs/color-highlight
// Color Manager
// ext install RoyAction.color-manager
// https://marketplace.visualstudio.com/items?itemName=RoyAction.color-manager
// https://open-vsx.org/extension/RoyAction/color-manager
// partial diff
// ext install ryu1kn.partial-diff
// https://marketplace.visualstudio.com/items?itemName=ryu1kn.partial-diff
// https://github.com/EclipseFdn/publish-extensions/pull/934
// -- text/markup/media --
// ---- Markdown ----
"[markdown]": {
"editor.wordBasedSuggestions": "off",
"editor.quickSuggestions":{
"other" : "off",
"comments": "off",
"strings" : "off"
}
},
// File Move Behavior (If images or directory changes, links update automatically!)
"markdown.updateLinksOnFileMove.enabled": "always",
"markdown.updateLinksOnFileMove.enableForDirectories": true,
"markdown.updateLinksOnFileMove.include": [
"**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}",
"**/*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,tiff,svg,mp4}"
],
// Dangling Link Behavior
"markdown.validate.enabled": true,
"markdown.validate.fileLinks.enabled": "warning",
"markdown.validate.referenceLinks.enabled": "warning",
"markdown.validate.unusedLinkDefinitions.enabled": "warning",
// Preview Behavior
"markdown.preview.scrollPreviewWithEditor": false,
"markdown.preview.scrollEditorWithPreview": false,
// Paste Image (Linux: Need xclip (and possibly xorg-wayland))
// ext install mushan.vscode-paste-image
// https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image
// https://open-vsx.org/extension/mushan/vscode-paste-image
"pasteImage.defaultName" : "[image-]YYYYMMDDHHmmss",
"pasteImage.prefix" : "",
"pasteImage.forceUnixStyleSeparator": true,
// "pasteImage.path" : "${projectRoot}/docs/assets/images", // Sane Global Setup, I use as override in .vscode
// "pasteImage.basePath": "${currentFileDir}", // Sane Global Setup, I use as override in .vscode
"pasteImage.path" : "${currentFileDir}", // My Global Setup For Note Extension
"pasteImage.basePath": "${currentFileDir}", // My Global Setup For Note Extension
// Notes (Me Setup: I assume I'm taking emergency screenshots for notes unless .vscode override)
// ext install dionmunk.vscode-notes
// https://marketplace.visualstudio.com/items?itemName=dionmunk.vscode-notes
// https://open-vsx.org/vscode/item?itemName=dionmunk.vscode-notes
"notes.notesLocation": "/home/comfy/Documents/git/ComfyTechTipsMkdocs/todo/", // You'll need to change this.
// Markdown Table Prettifier
// ext install darkriszty.markdown-table-prettify
// https://marketplace.visualstudio.com/items?itemName=darkriszty.markdown-table-prettify
// https://open-vsx.org/vscode/item?itemName=darkriszty.markdown-table-prettify
// Markdown Preview Enhanced
// ext install shd101wyy.markdown-preview-enhanced
// https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced
// https://open-vsx.org/extension/shd101wyy/markdown-preview-enhanced
"markdown-preview-enhanced.scrollSync": false,
"markdown-preview-enhanced.previewTheme": "github-light.css",
// "markdown-preview-enhanced.previewTheme": "github-dark.css", // Dark Theme
// Highlight (Markdown Previews)
// ext install fabiospampinato.vscode-highlight
// https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-highlight
// https://open-vsx.org/extension/fabiospampinato/vscode-highlight
"highlight.regexes": {
"(```[\\s\\S]+?```)": {
"regexFlags": "g",
"filterLanguageRegex": "markdown",
"filterFileRegex": ".*\\.md",
"decorations": [
{ "backgroundColor": "#3232641A", "isWholeLine": true }
]
},
"([^`])(`[^`]+?`)": {
"regexFlags": "g",
"filterLanguageRegex": "markdown",
"filterFileRegex": ".*\\.md",
"decorations": [
{},
{ "backgroundColor": "#3232641A", "borderColor": "#0000001A", "borderStyle": "dashed", "borderWidth": "1px", "borderRadius": "3px" },
{}
]
}
},
// Markdown PDF (Downloads Chromium for Program, or you can link install)
// ext install yzane.markdown-pdf
// https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf
// https://open-vsx.org/vscode/item?itemName=yzane.markdown-pdf
// ---- Marp ----
// https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode
// https://open-vsx.org/vscode/item?itemName=marp-team.marp-vscode
// ext install marp-team.marp-vscode
// ---- Mermaid ----
// Mermaid Markdown Syntax Highlighting
// ext install bpruitt-goddard.mermaid-markdown-syntax-highlighting
// https://marketplace.visualstudio.com/items?itemName=bpruitt-goddard.mermaid-markdown-syntax-highlighting
// https://open-vsx.org/extension/bpruitt-goddard/mermaid-markdown-syntax-highlighting
// Markdown Preview Mermaid Support
// ext install bierner.markdown-mermaid
// https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid
// https://open-vsx.org/vscode/item?itemName=bierner.markdown-mermaid
// ---- TOML ----
// Even Better TOML
// ext install tamasfe.even-better-toml
// https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml
// https://open-vsx.org/extension/tamasfe/even-better-toml
// ---- Draw.io ----
// Draw.io Integration
// ext install hediet.vscode-drawio
// https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio
// https://open-vsx.org/vscode/item?itemName=hediet.vscode-drawio
// ---- Excalidraw ----
// Excalidraw
// ext install pomdtr.excalidraw-editor
// https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor
// https://open-vsx.org/vscode/item?itemName=pomdtr.excalidraw-editor
// ---- Media Handlers ----
// vscode-pdf
// ext install tomoki1207.pdf
// https://marketplace.visualstudio.com/items?itemName=tomoki1207.pdf
// https://open-vsx.org/vscode/item?itemName=tomoki1207.pdf
// Excel Viewer
// ext install GrapeCity.gc-excelviewer
// https://marketplace.visualstudio.com/items?itemName=GrapeCity.gc-excelviewer
// https://open-vsx.org/vscode/item?itemName=GrapeCity.gc-excelviewer
// ---- Latex ----
// Latex Workshop (This will conflict with vscode-pdf, just disable at workspace level)
// ext install James-Yu.latex-workshop
// https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop
// https://open-vsx.org/extension/James-Yu/latex-workshop
"latex-workshop.latex.recipe.default": "latexmk (lualatex)",
"latex-workshop.view.pdf.viewer" : "tab",
// -- AI Tools --
// Github Copilot (VSCode)
"editor.inlineSuggest.enabled": false,
"github.copilot.nextEditSuggestions.enabled": false,
"editor.inlineSuggest.showToolbar": "onHover",
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": false,
"scminput": false
},
// Continue
// ext install Continue.continue
// https://marketplace.visualstudio.com/items?itemName=Continue.continue
// https://open-vsx.org/vscode/item?itemName=Continue.continue
// -- Tooling --
// Error Lens
// ext install usernamehw.errorlens
// https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens
// https://open-vsx.org/extension/usernamehw/errorlens
"errorLens.codeLensEnabled": true,
"errorLens.messageEnabled": false,
// Code Runner
// ext install formulahendry.code-runner
// https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner
// https://open-vsx.org/extension/formulahendry/code-runner
// "code-runner.runInTerminal" : true,
"code-runner.enableAppInsights" : false,
"code-runner.saveFileBeforeRun" : true,
"code-runner.clearPreviousOutput": true,
"code-runner.temporaryFileName" : "doNotGit",
"code-runner.runInTerminal": true,
// Live Preview // For inline web-browsing vs context switching
// ext install ms-vscode.live-server
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server
// https://open-vsx.org/extension/ms-vscode/live-server
// httpYac (endpoint testing)
// ext install anweber.vscode-httpyac
// https://marketplace.visualstudio.com/items?itemName=anweber.vscode-httpyac
// https://open-vsx.org/extension/anweber/vscode-httpyac
// DotENV
// ext install mikestead.dotenv
// https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv
// https://open-vsx.org/extension/mikestead/dotenv
// Playwright Test for VSCode
// ext install ms-playwright.playwright
// https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright
// https://open-vsx.org/vscode/item?itemName=ms-playwright.playwright
// docs view
// ext install bierner.docs-view
// https://marketplace.visualstudio.com/items?itemName=bierner.docs-view
// https://open-vsx.org/extension/bierner/docs-view
// hex editor
// ext install ms-vscode.hexeditor
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor
// https://open-vsx.org/extension/ms-vscode/hexeditor
// Serial (VSCode)
// ext install ms-vscode.vscode-serial-monitor
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-serial-monitor
// -- Infra --
// Remote Development (SSH, Tunnels, WSL, Dev Containers)
// ext install ms-vscode-remote.vscode-remote-extensionpack
// https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
// Open Remote - SSH (VSCodium)
// ext install jeanp413.open-remote-ssh
// https://open-vsx.org/vscode/item?itemName=jeanp413.open-remote-ssh
// Open Remote - WSL (VSCodium)
// ext install jeanp413.open-remote-wsl
// https://open-vsx.org/vscode/item?itemName=jeanp413.open-remote-wsl
// Container Tools
// ext install ms-azuretools.vscode-containers
// https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers
// https://open-vsx.org/extension/ms-azuretools/vscode-containers
// SFTP
// ext install Natizyskunk.sftp
// https://marketplace.visualstudio.com/items?itemName=Natizyskunk.sftp
// https://open-vsx.org/extension/Natizyskunk/sftp
// -- Programming --
// ---- Javascript & Typescript ----
// Emmet
"emmet.includeLanguages" : {"markdown": "html"},
"emmet.triggerExpansionOnTab" : true,
"emmet.showExpandedAbbreviation": "always",
// ESLint
// ext install dbaeumer.vscode-eslint
// https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
// https://open-vsx.org/extension/dbaeumer/vscode-eslint
// Prettier
// ext install Prettier.prettier-vscode
// https://marketplace.visualstudio.com/items?itemName=prettier.prettier-vscode
// https://open-vsx.org/extension/esbenp/prettier-vscode
// Check later, new version soon https://github.com/prettier/prettier-vscode/issues/3832
// Pretty TypeScript Errors
// ext install yoavbls.pretty-ts-errors
// https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors
// https://open-vsx.org/extension/yoavbls/pretty-ts-errors
// ---- PowerShell ----
"[powershell]": {
"debug.saveBeforeStart" : "nonUntitledEditorsInActiveGroup",
"editor.wordSeparators" : "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?",
"editor.semanticHighlighting.enabled": false,
},
// PowerShell
// ext install ms-vscode.PowerShell
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell
// https://open-vsx.org/extension/ms-vscode/powershell
"powershell.codeFormatting.pipelineIndentationStyle": "IncreaseIndentationForFirstPipeline",
"powershell.codeFormatting.trimWhitespaceAroundPipe": true,
"powershell.codeFormatting.useCorrectCasing" : true,
"powershell.integratedConsole.suppressStartupBanner": true,
"powershell.debugging.createTemporaryIntegratedConsole": true,
// ---- Python ----
// Python
// ext install ms-python.python
// https://marketplace.visualstudio.com/items?itemName=ms-python.python
// https://open-vsx.org/extension/ms-python/python
"python.analysis.inlayHints.functionReturnTypes": true,
"python.analysis.inlayHints.variableTypes": true,
// ruff
// ext install charliermarsh.ruff
// https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
// https://open-vsx.org/extension/charliermarsh/ruff
// autoDocstring
// ext install njpwerner.autodocstring
// https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring
// https://open-vsx.org/extension/njpwerner/autodocstring
// BasedPyright (VSCodium - Replaces Pylance)
// ext install detachhead.basedpyright
// https://open-vsx.org/extension/detachhead/basedpyright
// dependi
// ext install fill-labs.dependi
// https://marketplace.visualstudio.com/items?itemName=fill-labs.dependi
// https://open-vsx.org/extension/fill-labs/dependi
// ---- Bash / Sh ----
// Bash IDE
// ext install mads-hartmann.bash-ide-vscode
// https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode
// https://open-vsx.org/extension/mads-hartmann/bash-ide-vscode
// Bash Debug
// ext install rogalmic.bash-debug
// https://marketplace.visualstudio.com/items?itemName=rogalmic.bash-debug
// https://github.com/rogalmic/vscode-bash-debug
// Shell Check
// ext install timonwong.shellcheck
// https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck
// https://open-vsx.org/extension/timonwong/shellcheck
// ---- Go -----
// Go
// ext install golang.Go
// https://marketplace.visualstudio.com/items?itemName=golang.Go
// https://open-vsx.org/extension/golang/Go
// ---- Rust ----
// rust-analyzer
// ext install rust-lang.rust-analyzer
// https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer
// https://open-vsx.org/extension/rust-lang/rust-analyzer
// dependi (From Python)
// ---- PHP ----
"php.validate.run": "onType",
"php.validate.executablePath": "C:/xampp/php/php.exe", // Windows
// PHP Intelephense
// ext install bmewburn.vscode-intelephense-client
// https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client
// https://open-vsx.org/extension/bmewburn/vscode-intelephense-client
"php.suggest.basic": false, // Needed for Intelephense to run correctly.
"files.associations": { "*.module": "php" },
// PHP Debug
// ext install xdebug.php-debug
// https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug
// https://open-vsx.org/extension/xdebug/php-debug
"php.debug.executablePath": "C:/xampp/php/php.exe", // Windows
// Five Server (Live Server)
// ext install yandeu.five-server
// https://marketplace.visualstudio.com/items?itemName=yandeu.five-server
// https://open-vsx.org/extension/yandeu/five-server
"fiveServer.php.executable": "C:\\xampp\\php\\php.exe", // Windows
"fiveServer.browser": ["firefox"],
"fiveServer.host": "0.0.0.0",
"fiveServer.port": 5500,
"fiveServer.navigate": true,
// ---- C / C++ ----
// C / C++ (VSCode Only)
// ext install ms-vscode.cpptools
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
// clangd (VSCodium / LLVM)
// ext install llvm-vs-code-extensions.vscode-clangd
// https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd
// CodeLLDB (VSCodium / LLVM)
// ext install vadimcn.vscode-lldb
// https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
// https://open-vsx.org/extension/vadimcn/vscode-lldb
// ---- Java ---- (You should probably use Visual Studio or Rider)
// Java Pack
// ext install vscjava.vscode-java-pack
// https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack
// https://open-vsx.org/extension/vscjava/vscode-java-pack
// ---- C# / .NET (You should probably use Visual Studio or Rider) ----
// C# / .NET (VSCode Only)
// ext install ms-dotnettools.vscode-dotnet-pack
// https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-pack
"dotnet.inlayHints.enableInlayHintsForIndexerParameters": true,
"dotnet.inlayHints.enableInlayHintsForLiteralParameters": true,
"dotnet.inlayHints.enableInlayHintsForObjectCreationParameters": true,
"dotnet.inlayHints.enableInlayHintsForOtherParameters": true,
"dotnet.inlayHints.enableInlayHintsForParameters": true,
"csharp.inlayHints.enableInlayHintsForImplicitObjectCreation": true,
"csharp.inlayHints.enableInlayHintsForImplicitVariableTypes": true,
"csharp.inlayHints.enableInlayHintsForLambdaParameterTypes": true,
"csharp.inlayHints.enableInlayHintsForTypes": true,
// DotRush (VSCodium)
// ext install nromanov.dotrush
// https://open-vsx.org/extension/nromanov/dotrush
// -- Cloud Infra --
// AWS Toolkit
// ext install AmazonWebServices.aws-toolkit-vscode
// https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.aws-toolkit-vscode
// https://open-vsx.org/extension/amazonwebservices/aws-toolkit-vscode
// Azure Resources
// ext install ms-azuretools.vscode-azureresourcegroups
// https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureresourcegroups
// https://open-vsx.org/vscode/item?itemName=ms-azuretools.vscode-azureresourcegroups
// Azure CLI Tools
// ext install ms-vscode.azurecli
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.azurecli
// https://open-vsx.org/vscode/item?itemName=ms-vscode.azurecli
// Azure Tools (VSCodium can only install Azure Functions & Azure App Services)
// ext install ms-vscode.vscode-node-azure-pack
// https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack
// Azure Functions
// ext install ms-azuretools.vscode-azurefunctions
// https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions
// https://open-vsx.org/extension/ms-azuretools/vscode-azurefunctions
// Azure App Service
// ext install ms-azuretools.vscode-azureappservice
// https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azureappservice
// https://open-vsx.org/extension/ms-azuretools/vscode-azureappservice
// -- Notebooks --
// Notebook
"notebook.output.textLineLimit": 1000,
// Jupyter Notebook
// ext install ms-toolsai.jupyter
// https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
// https://open-vsx.org/extension/ms-toolsai/jupyter
"jupyter.askForKernelRestart": false,
"jupyter.interactiveWindow.creationMode": "perFile",
"hediet.vscode-drawio.resizeImages": null,
// Polyglot Notebook (VSCode Only)
// ext install ms-dotnettools.dotnet-interactive-vscode
// https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode
// Data Wrangler (VSCode Only)
// ext install ms-toolsai.datawrangler
// https://marketplace.visualstudio.com/items?itemName=ms-toolsai.datawrangler
// -- Data --
// Rainbow CSV
// ext install mechatroner.rainbow-csv
// https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv
// https://open-vsx.org/extension/mechatroner/rainbow-csv
// SQLite3 Editor
// ext install yy0931.vscode-sqlite3-editor
// https://marketplace.visualstudio.com/items?itemName=yy0931.vscode-sqlite3-editor
// MSSQL (VSCode)
// ext install ms-mssql.mssql
// https://marketplace.visualstudio.com/items?itemName=ms-mssql.mssql
// PostgreSQL (VSCode)
// ext install ms-ossdata.vscode-pgsql
// https://marketplace.visualstudio.com/items?itemName=ms-ossdata.vscode-pgsql
// SQLTools (If the above aren't applicable)
// ext install mtxr.sqltools
// https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools
// https://open-vsx.org/vscode/item?itemName=mtxr.sqltools
// SQLTools MySQL/MariaDB/TiDB
// ext install mtxr.sqltools-driver-mysql
// https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools-driver-mysql
// https://open-vsx.org/vscode/item?itemName=mtxr.sqltools-driver-mysql
// SQLTools PostgreSQL/Cockroach Driver
// ext install mtxr.sqltools-driver-pg
// https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools-driver-pg
// https://open-vsx.org/vscode/item?itemName=mtxr.sqltools-driver-pg
// SQLTools SQL Server
// ext install mtxr.sqltools-driver-mssql
// https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools-driver-mssql
// https://open-vsx.org/vscode/item?itemName=mtxr.sqltools-driver-mssql
// -- Additional --
}
Keybinds#
The following are keybinds as well:
My Keybinds
keybinds.json
// Place your key bindings in this file to override the defaults
[
{
"key": "ctrl+tab",
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+t",
"command": "-extension.vim_ctrl+t",
"when": "editorTextFocus && vim.active && vim.use<C-t> && !inDebugRepl"
},
{
"key": "ctrl+j",
"command": "-workbench.action.togglePanel"
},
{
"key": "ctrl+shift+;",
"command": "-breadcrumbs.focus",
"when": "breadcrumbsPossible"
},
{
"key": "ctrl+;",
"command": "terminal.focus"
},
{
"key": "cmd+;",
"command": "terminal.focus"
},
{
"key": "ctrl+;",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "cmd+;",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+h",
"command": "workbench.action.navigateLeft"
},
{
"key": "ctrl+l",
"command": "workbench.action.navigateRight"
},
{
"key": "ctrl+k",
"command": "workbench.action.navigateUp"
},
{
"key": "ctrl+j",
"command": "workbench.action.navigateDown"
},
{
"key": "tab",
"command": "selectNextQuickFix",
"when": "editorFocus && quickFixWidgetVisible"
},
{
"key": "shift+tab",
"command": "selectPrevQuickFix",
"when": "editorFocus && quickFixWidgetVisible"
},
{
"key": "tab",
"command": "selectNextSuggestion",
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
},
{
"key": "shift+tab",
"command": "selectPrevSuggestion",
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
},
{
"key": "ctrl+t",
"command": "workbench.action.files.newUntitledFile"
},
{
"key": "ctrl+e",
"command": "-extension.vim_ctrl+e",
"when": "editorTextFocus && vim.active && vim.use<C-e> && !inDebugRepl"
},
{
"key": "ctrl+e",
"command": "-workbench.action.quickOpenNavigateNextInFilePicker",
"when": "inFilesPicker && inQuickOpen"
},
{
"key": "ctrl+e",
"command": "workbench.view.explorer",
"when": "viewContainer.workbench.view.explorer.enabled"
},
{
"key": "ctrl+shift+;",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND"
}
},
]
Snippets#
This is my only global snippet file, made for mkdocs.
NOTE: I would normally put this in the .vscode/ folder for the project, but I use an extension that takes notes in a separate project (which I then publish once cleaning up).
Snippets
snippets/markdown-mkdocs.code-snippets.json
{
"Title (Doc)": {
"scope": "markdown",
"prefix": "Title (Doc)",
"body": [
"---",
"title: ${1:$TM_FILENAME_BASE}",
"description: ${2:Google Search / SEO}",
"date:",
" created: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
" updated: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
"---",
"$0"
],
"description": "mkdocs title"
},
"Title (Blog)": {
"scope": "markdown",
"prefix": "Title (Blog)",
"body": [
"---",
"title: ${1:$TM_FILENAME_BASE}",
"description: ${2:Google Search / SEO}",
"author: ComfyTechTips",
"date:",
" created: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
" updated: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
"slug: $TM_FILENAME_BASE",
"---",
"",
"${3:Top of document and hook}",
"",
"<!-- more -->",
"",
"${4:Hidden content}",
"$0"
],
"description": "mkdocs blog post with author and slug"
},
"Warning Box": {
"scope": "markdown",
"prefix": "Warning Box",
"body": [
"!!! warning",
" ${1:This will appear as a warning.}",
"$0"
],
"description": "mkdocs warning admonition"
},
"Note Box (Collapsed, Inline End, Custom)": {
"scope": "markdown",
"prefix": "Note Box (Collapsed)",
"body": [
"??? note inline end \"${1:My Warning}\"",
" ${2:Careful, this code can be very dangerous if ran without prior caution.}",
"$0"
],
"description": "mkdocs collapsible note inline end with custom title"
},
"Success Box (No Title)": {
"scope": "markdown",
"prefix": "Success Box (No Title)",
"body": [
"!!! success \"\"",
" ${1:RESULT}",
"$0"
],
"description": "mkdocs success box without title"
},
"Code Block (Highlight Lines)": {
"scope": "markdown",
"prefix": "Code Block (Highlight Lines)",
"body": [
"```${1:python} linenums=\"1\" hl_lines=\"${2:2 3}\"",
"${3:def bubble_sort(items):",
" for i in range(len(items)):",
" for j in range(len(items) - 1 - i):}",
"```",
"$0"
],
"description": "code block with line numbers and highlighted lines"
},
"Code Block (With Title)": {
"scope": "markdown",
"prefix": "Code Block (With Title)",
"body": [
"```${1:python} title=\"${2:bubble_sort.py}\"",
"${3:def bubble_sort(items):",
" for i in range(len(items)):",
" for j in range(len(items) - 1 - i):",
" if items[j] > items[j + 1]:",
" items[j], items[j + 1] = items[j + 1], items[j]}",
"```",
"$0"
],
"description": "code block with title"
},
"Multi-OS Tabs": {
"scope": "markdown",
"prefix": "Code Block Multi-OS",
"body": [
"=== \"${1:Windows}\"",
"",
" ${2:Windows way:}",
"",
" ```${3:powershell}",
" ${4:Write-Host \"Hello\"}",
" ```",
"",
"=== \"${5:Ubuntu Linux}\"",
"",
" ${6:Another way to say hello world:}",
"",
" ```${7:bash}",
" ${8:echo -e \"Hello\"}",
" ```",
"$0"
],
"description": "multi-OS tabbed content blocks"
},
"Multi-Language Tabs": {
"scope": "markdown",
"prefix": "Code Block Multi-Language",
"body": [
"=== \"${1:Python}\"",
"",
" ${2:To say hello:}",
"",
" ```${3:python}",
" ${4:print(\"Hello\")}",
" ```",
"",
"=== \"${5:C#}\"",
"",
" ${6:Another way to say hello world:}",
"",
" ```${7:csharp}",
" ${8:using System;",
"",
" namespace HelloWorld",
" {",
" class Program",
" {",
" static void Main(string[] args)",
" {",
" Console.WriteLine(\"Hello, World!\");",
" }",
" }",
" }}",
" ```",
"$0"
],
"description": "multi-language tabbed code blocks"
},
"Table": {
"scope": "markdown",
"prefix": "Table",
"body": [
"| ${1:Product} | ${2:What} | ${3:Link} |",
"| :----------- | :----------------------------------- | :--- |",
"| ${4:`GET`} | ${5::material-check: Fetch resource} | ${6:<>} |",
"| ${7:`PUT`} | ${8::material-check-all: Update resource} | ${9:<>} |",
"| ${10:`DELETE`} | ${11::material-close: Delete resource} | ${12:<>} |",
"$0"
],
"description": "markdown table with icons"
},
"Image (Centered with Caption)": {
"scope": "markdown",
"prefix": "Image (Centered)",
"body": [
"<figure>",
" <img src=\"${1:https://dummyimage.com/600x400/eee/aaa}\" width=\"${2:300}\" />",
" <figcaption>${3:Image caption}</figcaption>",
"</figure>",
"$0"
],
"description": "centered image with caption"
},
"Nav Config (.nav.yml)": {
"scope": "yaml",
"prefix": "Nav Config Yaml",
"body": [
"title: ${1:Lorem Ipsum} # Custom title for .nav.yml root directory",
"hide: ${2:false} # Hides .nav.yml root directory",
"ignore: \"${3:*.hidden.md}\" # Hides pattern for files matching",
"append_unmatched: ${4:true} # Anything that isn't explicitly caught will go to end",
"",
"sort:",
" direction: ${5:asc}",
" type: ${6:natural}",
" by: ${7:title} # some gotchas, read documentation",
" sections: ${8:last}",
" ignore_case: ${9:true}",
"",
"nav:",
" - ${10:one-i-want-first.md}",
" - \"*\" # the remaining files before directories and sections",
" - ${11:Custom Title: Directory}",
" - ${12:Custom Title: File.md}",
"$0"
],
"description": "mkdocs awesome-pages .nav.yml configuration"
}
}