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"
}
]