Skip to main content

VSCode Config

This doc contains information about the various VSCode extensions, User Settings and KeyBindings

Extensions

This list is subject to change, but here are the extensions that I use.

code --install-extension AykutSarac.jsoncrack-vscode  # used to visualize JSON files
# code --install-extension bencoleman.armview # This extension displays a graphical preview of Azure Resource Manager (ARM) templates.
code --install-extension codezombiech.gitignore # to create gitignores
code --install-extension DavidAnson.vscode-markdownlint # lint md files
code --install-extension dbaeumer.vscode-eslint # lint javascript files
code --install-extension donjayamanne.githistory # ext to view git history of files
# code --install-extension eamodio.gitlens # super handy git extension
code --install-extension KevinRose.vsc-python-indent # ext for python indentation
code --install-extension mechatroner.rainbow-csv # ext for viewing, aligning, running SQL queries against a CSV file
code --install-extension ms-azure-devops.azure-pipelines # azure related extensions
code --install-extension ms-azuretools.vscode-azureappservice
code --install-extension ms-azuretools.vscode-azureresourcegroups
code --install-extension ms-azuretools.vscode-azurestaticwebapps
code --install-extension ms-azuretools.vscode-bicep
code --install-extension ms-azuretools.vscode-docker # docker ext
code --install-extension ms-dotnettools.csharp # C# ext
code --install-extension ms-dotnettools.vscode-dotnet-runtime
code --install-extension ms-python.flake8 # ext for python linting
code --install-extension ms-python.isort # ext for sorting imports
code --install-extension ms-python.python # python ext
code --install-extension ms-python.vscode-pylance # ext for intellisense
code --install-extension ms-toolsai.jupyter # jupyter
code --install-extension ms-toolsai.jupyter-keymap # key bindings in jupyter
code --install-extension ms-toolsai.jupyter-renderers
code --install-extension ms-toolsai.vscode-ai-remote
code --install-extension ms-toolsai.vscode-jupyter-cell-tags
code --install-extension ms-toolsai.vscode-jupyter-slideshow
code --install-extension ms-vscode-remote.remote-containers # remote containers
code --install-extension ms-vscode-remote.remote-ssh # for SSH
code --install-extension ms-vscode-remote.remote-ssh-edit
code --install-extension ms-vscode-remote.remote-wsl # for using WSL
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
code --install-extension ms-vscode.azure-account
code --install-extension ms-vscode.azurecli
code --install-extension ms-vscode.cpptools-themes
code --install-extension ms-vscode.remote-explorer
code --install-extension ms-vscode.remote-server
code --install-extension msazurermtools.azurerm-vscode-tools
code --install-extension njpwerner.autodocstring
code --install-extension pomdtr.excalidraw-editor # excalidraw in vscode
code --install-extension Shinotatwu-DS.file-tree-generator # generate file tree
code --install-extension streetsidesoftware.code-spell-checker # code spell check
code --install-extension TakumiI.markdowntable # for creating md tables
code --install-extension telesoho.vscode-markdown-paste-image # for pasting images in md
code --install-extension yzhang.markdown-all-in-one # smart tools in md
code --install-extension eeyorelee.yapf # smart tools in md

User Settings

This file contains the User Specific settings for my VSCode setup.

settings.json
{
"[python]": {
"diffEditor.ignoreTrimWhitespace": false,
"gitlens.codeLens.symbolScopes": [
"!Module"
],
"editor.formatOnSaveMode": "modifications",
"editor.formatOnSave": false,
"editor.wordBasedSuggestions": "matchingDocuments",
"editor.defaultFormatter": "eeyore.yapf"
},
"yapf.args": [
"--style",
"{based_on_style: pep8, indent_width: 2, column_limit: 80}"
],
"flake8.args": [
"--indent-size=2",
"--ignore=F403,F405,E731,E111",
"--verbose",
"--max-line-length=80"
],
"workbench.startupEditor": "none", // default opening VSCode opens nothing
"terminal.integrated.defaultProfile.windows": "Command Prompt", // default terminal: CMD
"git.confirmSync": false,
"workbench.tree.indent": 20, // indentation shown in the file tree in VSCode
"javascript.updateImportsOnFileMove.enabled": "always", // in js, when files are moved, auto-update import
"security.workspace.trust.untrustedFiles": "open",
"explorer.confirmDragAndDrop": false,
"editor.renderWhitespace": "all",
"editor.rulers": [ // rulers for languages
80, // python
120 // javascript
],
"editor.tabSize": 2, // default indentation
"diffEditor.ignoreTrimWhitespace": false, // setting to trim whitespace
"excalidraw.theme": "light", // excalidraw theme
"[markdown]": { // markdownlint
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
},
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
},
"markdownlint.config": {
"default": true,
"MD007": {
"indent": 4
}
},
"markdownlint.ignore": ["MD031"],
"editor.stickyScroll.enabled": true,
"todo-tree.general.tags": [
"BUG",
"HACK",
"FIXME",
"TODO",
"XXX",
"[ ]",
"[x]",
"[x]"
],
"remote.SSH.remotePlatform": { // platform settings for systems I SSH into
"arcc.uc.edu": "linux", // compute-canada equivalent for UC
"20.14.140.39": "linux" // orsanco-vm
},
"cSpell.enabled": true, // spellcheck
"files.trimTrailingWhitespace": true,
"window.zoomLevel": 1, // default zoom level in vscoded
"editor.accessibilitySupport": "off",
"bicep.enableSurveys": false
}

Key Bindings

These are browser like shortcuts for VSCode for quicker navigation

keybindings.json
// Place your key bindings in this file to override the defaults
[
{
"key": "ctrl+tab", // this allows me to go the next window (to the right) in VSCode
"command": "workbench.action.nextEditor"
},
{
"key": "ctrl+shift+tab", // this allows me to go the next window (to the left) in VSCode
"command": "workbench.action.previousEditor"
},
{
"key": "ctrl+up", // this allows me to stage files in a repo
"command": "git.stage",
"when": "workbench.scm.active"
}
]