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