VSCode settings and extensions
- Error Lens: Improve highlighting of errors, warnings and other language diagnostics.
- Atom Keymap: Popular Atom keybindings for Visual Studio Code
- CodeLLDB: A native debugger powered by LLDB. Debug C++, Rust and other compiled languages.
- Crates: Helps Rust developers managing dependencies with Cargo.toml.
- Docker: Makes it easy to create, manage, and debug containerized applications.
- Doxygen Documentation Generator: Let me generate Doxygen documentation from your source code for you.
- Git Graph: View a Git Graph of your repository, and perform Git actions from the graph.
- IntelliCode: AI-assisted development.
- Material Icon Theme: Material Design Icons for Visual Studio Code.
- One Dark Pro: Atom‘s iconic One Dark theme for Visual Studio Code.
- Prettier - Code formatter: Code formatter using prettier.
- Remote - Containers: Open any folder or repository inside a Docker container and take advantage of Visual Studio Code's full feature set.
- rust-analyzer: Rust language support for Visual Studio Code.
- Tailwind CSS IntelliSense: Intelligent Tailwind CSS tooling for VS Code.
- Open in GitHub: Open the current project or file in github.com.
- Ruff: A Visual Studio Code extension with support for the Ruff linter.
- Even Better TOML: Fully-featured TOML support
Below is the JSON file for general settings, and the extensions from above. I use zen mode (similar to distraction-free mode in JetBrains products) so there's less unecessary components on the screen.
{
"editor.multiCursorModifier": "ctrlCmd",
"editor.formatOnPaste": true,
"editor.fontLigatures": true,
"editor.fontSize": 14,
"editor.suggestSelection": "first",
"editor.fontFamily": "Fira Code",
"editor.cursorBlinking": "expand",
"editor.tabCompletion": "on",
"editor.autoClosingQuotes": "always",
"editor.autoClosingBrackets": "always",
"editor.cursorStyle": "line-thin",
"editor.minimap.renderCharacters": false,
"editor.renderLineHighlight": "all",
"editor.showFoldingControls": "always",
"editor.stickyTabStops": true,
"editor.find.autoFindInSelection": "multiline",
"editor.formatOnSave": true,
"editor.minimap.enabled": false,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"files.watcherExclude": {
"**/Cargo.lock**": true,
"**/oprofile_data/**": true,
"**/target/**": true
},
"rust-analyzer.diagnostics.enable": true,
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "One Dark Pro Flat",
"workbench.editor.wrapTabs": false,
"workbench.panel.defaultLocation": "right",
"workbench.startupEditor": "none",
"workbench.editor.enablePreview": false,
"workbench.editor.enablePreviewFromCodeNavigation": true,
"workbench.colorCustomizations": {
"editorInlayHint.background": "#00000000",
"editorInlayHint.foreground": "#979696"
},
"workbench.sideBar.location": "right",
"debug.allowBreakpointsEverywhere": true,
"debug.showBreakpointsInOverviewRuler": true,
"explorer.confirmDragAndDrop": false,
"explorer.confirmDelete": false,
"oneDarkPro.vivid": true,
"files.autoSave": "afterDelay",
"editor.renderWhitespace": "none",
"editor.bracketPairColorization.enabled": true,
"diffEditor.ignoreTrimWhitespace": false,
"zenMode.fullScreen": false,
"zenMode.hideLineNumbers": false,
"eslint.validate": ["typescript", "typescriptreact"],
"typescript.inlayHints.variableTypes.enabled": true,
"javascript.inlayHints.variableTypes.enabled": true,
"search.exclude": {
"**/dist/**": true,
"**/node_modules/**": true
},
"typescript.workspaceSymbols.scope": "currentProject",
"search.useGlobalIgnoreFiles": true,
"editor.inlayHints.fontSize": 13,
"files.exclude": {
"**/__pycache__": true,
"**/.idea": true,
"**/.pytest_cache": true,
"**/.venv": true,
"**/node_modules": true,
"**/.next": true,
"**/coverage": true,
"**/.swc": true,
"**/.mypy_cache": true,
"**/.ruff_cache": true,
"**/.pdm-python": true
},
"telemetry.telemetryLevel": "off",
"[cpp]": {
"editor.defaultFormatter": "xaver.clang-format"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"python.testing.pytestArgs": ["."],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.languageServer": "Pylance",
"window.menuBarVisibility": "toggle",
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml"
},
"[prisma]": {
"editor.defaultFormatter": "Prisma.prisma"
},
"python.analysis.autoFormatStrings": true,
"window.density.editorTabHeight": "compact"
}