Invalid Date

Setting Up VS Code Like a Pro

fnmalic

fnmalic

min read
Setting Up VS Code Like a Pro

Setting Up VS Code Like a Pro

Visual Studio Code has become the go-to code editor for many developers, and for good reason. In this guide, I'll show you how to transform VS Code into a powerful development environment that will supercharge your coding productivity.

Essential Extensions

Code Quality and Intelligence

  • ESLint: Your code quality guardian, catching problems before they become bugs
  • Prettier: Automatic code formatting that ensures consistent style across your projects
  • GitLens: Supercharge your Git capabilities with inline blame annotations and powerful comparison tools
  • IntelliCode: AI-assisted development with smart code completions
  • Error Lens: Inline error messages that make debugging much faster
  • Code Spell Checker: Catch spelling mistakes in your code and comments
  • Import Cost: Display inline the size of imported packages

Language Support

  • Python: Rich Python language support with debugging and linting
  • JavaScript and TypeScript: Enhanced IntelliSense, debugging, and code navigation
  • Live Server: Launch a local development server with live reload for static pages
  • Docker: Seamlessly work with containers right from your editor
  • Remote Development: Code on remote machines like they're local
  • Database Client: Manage your databases directly from VS Code
  • REST Client: Test API endpoints without leaving your editor

Themes and Aesthetics

  • Material Icon Theme: Beautiful file icons for better visual organization
  • One Dark Pro: A comfortable, eye-friendly color theme
  • Peacock: Distinguish between different VS Code windows
  • Indent Rainbow: Colorize indentation for better readability

Must-Know Keyboard Shortcuts

Navigation

  • Ctrl+P (Win/Linux) / Cmd+P (Mac): Quick file navigation
  • Ctrl+Shift+P (Win/Linux) / Cmd+Shift+P (Mac): Command palette
  • Ctrl+\ (Win/Linux) / Cmd+\ (Mac): Split editor
  • Alt+↑/↓: Move line up/down
  • Ctrl+G: Go to specific line
  • Ctrl+Shift+O: Navigate to symbol in file
  • Ctrl+T: Search symbols across workspace
  • Ctrl+Tab: Switch between open editors

Editing

  • Ctrl+D (Win/Linux) / Cmd+D (Mac): Select next occurrence
  • Alt+Click: Add multiple cursors
  • Ctrl+/ (Win/Linux) / Cmd+/ (Mac): Toggle line comment
  • Ctrl+Space: Trigger suggestions
  • Ctrl+Shift+L: Select all occurrences
  • Ctrl+K Ctrl+X: Trim trailing whitespace
  • Alt+Shift+↑/↓: Copy line up/down
  • Ctrl+K Ctrl+F: Format selected code
  • F2: Rename symbol across files

Terminal and Debug

  • Ctrl+`: Toggle integrated terminal
  • Ctrl+Shift+Y: Toggle debug console
  • F5: Start/Continue debugging
  • F9: Toggle breakpoint
  • F10: Step over
  • F11: Step into

Customizing Settings

Editor Settings

1{ 2 "editor.fontSize": 14, 3 "editor.fontFamily": "Fira Code", 4 "editor.fontLigatures": true, 5 "editor.wordWrap": "on", 6 "editor.formatOnSave": true, 7 "editor.minimap.enabled": false, 8 "editor.bracketPairColorization.enabled": true, 9 "editor.guides.bracketPairs": true, 10 "editor.suggest.preview": true, 11 "editor.snippetSuggestions": "top", 12 "editor.linkedEditing": true, 13 "editor.stickyScroll.enabled": true, 14 "editor.cursorSmoothCaretAnimation": true, 15 "editor.renderWhitespace": "boundary" 16}

Workbench Settings

1{ 2 "workbench.colorTheme": "One Dark Pro", 3 "workbench.iconTheme": "material-icon-theme", 4 "workbench.editor.enablePreview": false, 5 "workbench.startupEditor": "newUntitledFile", 6 "workbench.editor.labelFormat": "short", 7 "workbench.tree.indent": 20, 8 "workbench.tree.renderIndentGuides": "always", 9 "workbench.editor.closeEmptyGroups": false 10}

File Management Settings

1{ 2 "files.trimTrailingWhitespace": true, 3 "files.insertFinalNewline": true, 4 "files.trimFinalNewlines": true, 5 "files.autoSave": "onFocusChange", 6 "files.exclude": { 7 "**/.git": true, 8 "**/.DS_Store": true, 9 "**/node_modules": true, 10 "**/.venv": true 11 } 12}

Pro Productivity Tips

Snippets

Create custom snippets for frequently used code patterns. Here's an example for React components:

1{ 2 "React Functional Component": { 3 "prefix": "rfc", 4 "body": [ 5 "import React from 'react'", 6 "", 7 "const $1 = () => {", 8 " return (", 9 " <div>", 10 " $2", 11 " </div>", 12 " )", 13 "}", 14 "", 15 "export default $1" 16 ] 17 } 18}

Advanced Git Integration

  • Use built-in Git features for basic operations
  • Leverage GitLens for blame annotations and file history
  • Set up .gitignore templates for different project types
  • Configure automatic fetch intervals
  • Use Source Control view for staging and commits

Workspace Organization

  • Use workspaces to manage multiple projects
  • Leverage .vscode folder for project-specific settings
  • Create task configurations for automated build and test processes
  • Set up multi-root workspaces for microservice development
  • Use workspace-specific extension recommendations

Terminal Integration

  • Use the integrated terminal with split panes
  • Configure your preferred shell
  • Set up task runners for common commands
  • Create custom terminal profiles
  • Configure terminal-specific key bindings

Debug Like a Pro

  • Set conditional breakpoints
  • Use the Watch panel for variable monitoring
  • Leverage the Debug Console for runtime evaluation
  • Configure launch.json for different debugging scenarios
  • Use logpoints for non-breaking debugging
  • Set up compound launch configurations

Language-Specific Tips

JavaScript/TypeScript

  • Configure ESLint and Prettier integration
  • Set up automatic import organization
  • Use TypeScript project references
  • Configure Path Intellisense

Python

  • Set up virtual environments integration
  • Configure Python formatting with black
  • Enable Pylance language server
  • Set up pytest integration

Web Development

  • Configure Emmet shortcuts
  • Set up Browser Preview
  • Enable CSS peek features
  • Configure Live Server settings

Best Practices

Security

  • Enable workspace trust
  • Review extension permissions
  • Keep VS Code and extensions updated
  • Use secure extension settings

Performance

  • Regular cleanup of unused extensions
  • Configure appropriate files.watcherExclude
  • Use workspace storage wisely
  • Monitor extension performance

Backup and Sync

  • Use Settings Sync
  • Back up custom snippets
  • Version control your .vscode settings
  • Document your customizations

Conclusion

Setting up VS Code properly is an investment that pays dividends in productivity. Start with these essential configurations and gradually customize them to match your workflow. Remember, the best setup is the one that works for you – don't be afraid to experiment and adjust these settings to your needs.

Regular maintenance and updates to your VS Code setup will ensure you're always working with the most efficient tools possible. Keep exploring new extensions and features as they're released, but always evaluate their impact on your workflow and performance before making them a permanent part of your setup.

#ai#tech#vs-code#tips#ai

Enhanced Reading Experience

Explore this article with AI-powered features designed to enhance your understanding

AI Summary & Voice Narration

Get an AI-generated summary of this article that you can listen to

💬 Ask AI about this article

Ask me anything about this blog post! I'll answer based on the article content and provide sources.

Comments (0)

Please log in to leave a comment