Navigate to the official website
Greetings, aspiring code warrior! You stand before one of the most crucial quests in your IT journey. Visual Studio Code is not just a text editorโit's a magical artifact that, when properly enchanted, becomes the ultimate weapon in any developer's arsenal.
This quest will teach you to transform VS Code from a simple editor into a personalized development powerhouse capable of handling any coding challenge you'll face on your journey.
๐ฏ Quest Objectives¶
By completing this quest, you will:
- Install and configure VS Code across different operating systems
- Master essential extensions for enhanced productivity
- Customize your workspace for optimal workflow
- Learn keyboard shortcuts that separate novices from pros
- Set up domain-specific environments (Web, Python, Data Science, etc.)
- Configure debugging and testing capabilities
- Integrate version control with Git
- Optimize performance for large projects
๐ Choose Your Installation Path¶
๐ macOS Kingdom¶
Method 1: Direct Download (Recommended for n00bs)¶
# Navigate to the official website
open https://code.visualstudio.com/
# Download and drag to Applications folder
Method 2: Homebrew Magic (For terminal warriors)¶
๐ช Windows Empire¶
Method 1: Winget Package Manager¶
# Install via Windows Package Manager
winget install Microsoft.VisualStudioCode
# Alternative with Chocolatey
choco install vscode
Method 2: Direct Download¶
- Visit code.visualstudio.com
- Download Windows installer
- Run installer with admin privileges
- Add to PATH when prompted
๐ง Linux Territory¶
Ubuntu/Debian Realm¶
# Add Microsoft repository
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
# Update and install
sudo apt update
sudo apt install code
Fedora/CentOS Realm¶
# Add repository
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
# Install
sudo dnf install code
โ Quest Checkpoint: Verify Installation¶
# Test VS Code installation
code --version
# Open VS Code from terminal
code .
# Check if code command is available globally
which code
Expected Output:
๐งโโ๏ธ Essential Extensions Grimoire¶
Core Power-Up Extensions¶
Install these essential extensions to unlock VS Code's true potential:
# Install via command line (copy and paste into terminal)
code --install-extension ms-python.python
code --install-extension ms-vscode.vscode-typescript-next
code --install-extension ms-toolsai.jupyter
code --install-extension ms-python.vscode-pylance
code --install-extension ms-vscode.powershell
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vsliveshare.vsliveshare
code --install-extension eamodio.gitlens
Manual Installation (Alternative Method)¶
- Open Extensions Panel:
Cmd/Ctrl + Shift + X - Search and Install each extension:
๐ง Universal Developer Tools¶
- Python (Microsoft) - Python language support
- Pylance (Microsoft) - Advanced Python intellisense
- JavaScript/TypeScript - Enhanced JS/TS support
- JSON (Microsoft) - JSON language support
- YAML (Red Hat) - YAML language support
๐ Productivity Enhancers¶
- GitLens (Eric Amodio) - Supercharged Git capabilities
- Live Share (Microsoft) - Real-time collaborative editing
- Remote Development (Microsoft) - Work with remote environments
- Docker (Microsoft) - Container development support
- Thunder Client - API testing inside VS Code
๐จ Interface & Themes¶
- Material Icon Theme - Beautiful file icons
- One Dark Pro - Popular dark theme
- Bracket Pair Colorizer 2 - Rainbow bracket matching
- Indent Rainbow - Colorized indentation
๐ Data & Analytics¶
- Jupyter (Microsoft) - Notebook support
- Excel Viewer - View CSV files as tables
- Rainbow CSV - CSV syntax highlighting
โ Quest Checkpoint: Extension Verification¶
Open Command Palette (Cmd/Ctrl + Shift + P) and run:
Verify you have at least 5-10 extensions installed.
โ๏ธ Configuration Mastery¶
Settings.json Configuration¶
Access settings via Cmd/Ctrl + , or Cmd/Ctrl + Shift + P โ "Open Settings (JSON)"
{
// Editor Configuration
"editor.fontSize": 14,
"editor.fontFamily": "'Fira Code', 'Monaco', 'Courier New', monospace",
"editor.fontLigatures": true,
"editor.lineHeight": 1.5,
"editor.minimap.enabled": true,
"editor.wordWrap": "on",
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.detectIndentation": true,
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
// Visual Enhancements
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"workbench.tree.indent": 20,
// File Management
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/node_modules": true,
"**/__pycache__": true,
"**/*.pyc": true
},
// Terminal Configuration
"terminal.integrated.fontSize": 13,
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.defaultProfile.windows": "PowerShell",
// Git Integration
"git.enableSmartCommit": true,
"git.confirmSync": false,
"git.autofetch": true,
// Python Specific
"python.defaultInterpreterPath": "/usr/local/bin/python3",
// Performance Optimizations
"extensions.autoUpdate": false,
"telemetry.telemetryLevel": "off",
"update.mode": "manual"
}
Workspace-Specific Settings¶
Create .vscode/settings.json in project root for project-specific configurations:
{
"python.defaultInterpreterPath": "./venv/bin/python",
"editor.tabSize": 2,
"files.associations": {
"*.jsx": "javascriptreact",
"*.tsx": "typescriptreact"
}
}
โจ๏ธ Keyboard Shortcuts Mastery¶
Essential Universal Shortcuts¶
| Action | macOS | Windows/Linux | Description |
|---|---|---|---|
| Command Palette | Cmd + Shift + P |
Ctrl + Shift + P |
Access any VS Code command |
| Quick Open | Cmd + P |
Ctrl + P |
Quickly open files |
| New Terminal | Ctrl + |Ctrl + |
Open integrated terminal | |
| Split Editor | Cmd + \ |
Ctrl + \ |
Split editor window |
| Toggle Sidebar | Cmd + B |
Ctrl + B |
Show/hide file explorer |
| Go to Definition | F12 |
F12 |
Jump to function/variable definition |
| Find in Files | Cmd + Shift + F |
Ctrl + Shift + F |
Search across all files |
| Rename Symbol | F2 |
F2 |
Rename variable/function everywhere |
Power User Shortcuts¶
| Action | macOS | Windows/Linux | Description |
|---|---|---|---|
| Multi-cursor | Cmd + D |
Ctrl + D |
Select next occurrence |
| Column Selection | Shift + Option + Drag |
Shift + Alt + Drag |
Select rectangular text |
| Move Line | Option + โ/โ |
Alt + โ/โ |
Move line up/down |
| Copy Line | Shift + Option + โ/โ |
Shift + Alt + โ/โ |
Duplicate line |
| Toggle Comment | Cmd + / |
Ctrl + / |
Comment/uncomment line |
| Zen Mode | Cmd + K Z |
Ctrl + K Z |
Distraction-free coding |
โ Quest Checkpoint: Shortcut Challenge¶
Practice these shortcuts by: 1. Creating a test file 2. Using multi-cursor to edit multiple lines 3. Splitting the editor and opening two files 4. Using Go to Definition on a function 5. Searching for text across files
๐ฏ Domain-Specific Setups¶
๐ Python Sorcery Setup¶
# Install Python extension pack
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter
# Additional Python tools
code --install-extension ms-python.black-formatter
code --install-extension ms-python.isort
code --install-extension ms-python.pylint
Python-specific settings.json additions:
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
"python.testing.pytestEnabled": true,
"jupyter.askForKernelRestart": false
}
๐ Web Development Arsenal¶
# Web development extensions
code --install-extension bradlc.vscode-tailwindcss
code --install-extension ms-vscode.vscode-typescript-next
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint
code --install-extension formulahendry.auto-rename-tag
code --install-extension christian-kohler.path-intellisense
๐ Data Science Laboratory¶
# Data science extensions
code --install-extension ms-toolsai.jupyter
code --install-extension ms-toolsai.vscode-jupyter-cell-tags
code --install-extension ms-toolsai.vscode-jupyter-slideshow
code --install-extension GrapeCity.gc-excelviewer
โ๏ธ Cloud & DevOps Fortress¶
# Cloud and DevOps extensions
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools
code --install-extension ms-azuretools.vscode-docker
code --install-extension HashiCorp.terraform
๐ Debugging Mastery¶
Setting Up Debugging¶
- Open Debug Panel:
Cmd/Ctrl + Shift + D - Create Launch Configuration: Click "create a launch.json file"
- Select Environment: Choose your programming language
Example Python debug configuration:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
},
{
"name": "Python: Debug Tests",
"type": "python",
"request": "launch",
"module": "pytest",
"args": ["${workspaceFolder}/tests"],
"console": "integratedTerminal",
"justMyCode": false
}
]
}
Debugging Techniques¶
- Set Breakpoints: Click left margin next to line numbers
- Conditional Breakpoints: Right-click breakpoint for conditions
- Watch Variables: Add variables to watch panel
- Call Stack: View function call hierarchy
- Debug Console: Execute code in current context
๐ง Advanced Configuration¶
Snippets Creation¶
Create custom code snippets for faster development:
- Open Command Palette:
Cmd/Ctrl + Shift + P - Run: "Configure User Snippets"
- Select Language: Choose programming language
- Add Snippet:
{
"Python Class Template": {
"prefix": "class",
"body": [
"class ${1:ClassName}:",
" \"\"\"${2:Class description}\"\"\"",
" ",
" def __init__(self${3:, arg}):",
" \"\"\"Initialize ${1:ClassName}\"\"\"",
" ${4:pass}",
" ",
" def ${5:method_name}(self${6:, arg}):",
" \"\"\"${7:Method description}\"\"\"",
" ${8:pass}"
],
"description": "Create a Python class template"
}
}
Tasks Configuration¶
Create automated tasks via .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Python Tests",
"type": "shell",
"command": "python",
"args": ["-m", "pytest", "tests/"],
"group": "test",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"label": "Format Python Code",
"type": "shell",
"command": "black",
"args": ["${workspaceFolder}"],
"group": "build",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared"
}
}
]
}
๐ Performance Optimization¶
Large Project Optimization¶
For large codebases, optimize VS Code performance:
{
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.venv/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/.git": true,
"**/.DS_Store": true,
"**/dist": true,
"**/build": true
},
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/node_modules": true,
"**/__pycache__": true
}
}
Memory Management¶
{
"extensions.autoUpdate": false,
"extensions.autoCheckUpdates": false,
"telemetry.telemetryLevel": "off",
"workbench.settings.enableNaturalLanguageSearch": false,
"typescript.disableAutomaticTypeAcquisition": true
}
๐ฎ Workspace Profiles¶
Create different profiles for different types of work:
Creating Profiles¶
- Command Palette:
Cmd/Ctrl + Shift + P - Run: "Profiles: Create Profile"
- Configure extensions and settings for specific domains
Suggested Profiles: - Web Development: React, Vue, Angular extensions - Data Science: Jupyter, Python data tools - DevOps: Docker, Kubernetes, Terraform tools - Mobile Development: React Native, Flutter tools
๐ ๏ธ Troubleshooting Scrolls¶
If your VS Code setup spell fails, use these quick recovery runes:
code command not found¶
- macOS: Run Shell Command: Install 'code' command in PATH from the Command Palette.
- Windows: Re-run installer and keep Add to PATH enabled.
- Linux: Confirm package install with
apt list --installed | grep code(or your distro equivalent).
Extensions fail to install¶
- Check network/proxy access.
- Temporarily disable strict firewall rules for extension marketplace access.
- Restart VS Code and retry extension installation.
Slow startup on larger projects¶
- Exclude very large generated folders.
- Disable unused extensions in the current workspace profile.
- Use one profile per domain to keep extension loadouts focused.
๐ Bonus Sidequest: The IT-Journey Jekyll Forge¶
Want to wield VS Code on the very codex you're reading? The IT-Journey repo ships its own enchantments so your editor becomes a content-authoring workshop with a visual CMS, one-key Docker rituals, and live-preview debugging. Clone the repo first, then layer these on.
๐งฉ Jekyll Authoring Extensions¶
Beyond the universal grimoire above, these unlock Markdown + Liquid + Ruby authoring. They also live in the repo's .vscode/extensions.json, so VS Code will offer them when you open the project:
code --install-extension eliostruyf.vscode-front-matter \
--install-extension shopify.ruby-lsp \
--install-extension shopify.liquid \
--install-extension redhat.vscode-yaml \
--install-extension yzhang.markdown-all-in-one \
--install-extension davidanson.vscode-markdownlint \
--install-extension streetsidesoftware.code-spell-checker
๐ Front Matter CMS โ A Visual Content Dashboard¶
Front Matter CMS turns VS Code into a headless CMS โ a visual dashboard for every post, quest, and doc โ so you create content without hand-writing frontmatter YAML. The repo's frontmatter.json configures it all: page folders, content-type field schemas, snippets, and live-preview paths.
| Content Type | Notable Fields | Used By |
|---|---|---|
| default | title, description, date, draft, tags, categories, layout, author, permalink, image | Posts, pages, docs, notes |
| quest | All default fields + level, difficulty, estimated_time, xp, achievements, prerequisites, platforms, quest_type, skill_focus | Quests |
To summon the dashboard: Cmd/Ctrl + Shift + P โ Front Matter: Open Dashboard (it auto-opens on project load). Then Create content โ pick the target folder โ fill fields visually โ the CMS writes a properly formatted Markdown file with valid frontmatter.
โก One-Key Build Rituals (Tasks)¶
The repo's .vscode/tasks.json follows the fleet convention every bamr87 repo shares (the vocabulary is written down in .vscode/README.md):
| Task | Command | Purpose |
|---|---|---|
| Serve | docker compose up jekyll |
Start the dev server on :4002 (runs until Stop) |
| Stop | docker compose down |
Stop and clean up |
| Build | bundle exec jekyll build (in Docker) |
The dev-config build โ Cmd/Ctrl + Shift + B |
| Lint | make liquid-check && make content-audit |
The pre-build checks CI runs |
| Verify | Lint, then Build | The gate, locally โ Tasks: Run Test Task |
| Docker: rebuild / Docker: logs | docker compose โฆ |
Full rebuild / watch the build output |
Press Cmd/Ctrl + Shift + B for Build, or Cmd/Ctrl + Shift + P โ Tasks: Run Task for the rest; output streams into the integrated terminal.
๐ Live-Preview Debug Configurations¶
.vscode/launch.json ships ready-made launch configs โ hit F5 and choose one:
- Debug: site in Edge (:4002) โ runs the Serve task, then opens Edge with DevTools attached and breakpoints mapped to the source tree
- Debug: live site (it-journey.dev) โ the published site, for reproducing a reader's report with real DevTools
For a phone-sized viewport use the DevTools device toolbar (Cmd/Ctrl + Shift + M) inside either session.
๐ง Workspace Spells for Jekyll¶
Drop these into .vscode/settings.json so .html files render as Liquid and Markdown gets validated:
{
"files.associations": {
"*.html": "liquid",
"*.md": "markdown"
},
"editor.wordWrap": "on",
"markdown.validate.enabled": true
}
๐ Quest Completion Challenges¶
Challenge 1: Speed Setup (10 minutes)¶
- Install VS Code from scratch
- Install 5 essential extensions
- Configure basic settings.json
- Create and run a simple Python/JavaScript file
Challenge 2: Debugging Master (15 minutes)¶
- Set up debugging for your preferred language
- Create a program with a bug
- Use breakpoints and watch variables to fix it
- Run tests using VS Code test integration
Challenge 3: Productivity Hero (20 minutes)¶
- Create custom snippets for your domain
- Set up automated tasks (testing, formatting, building)
- Master 10 keyboard shortcuts
- Configure a multi-file project workspace
โ Final Quest Verification¶
Prove your mastery by demonstrating:
- Multi-file navigation using Quick Open and Go to Definition
- Integrated terminal usage for running commands
- Git integration for version control
- Extension management and customization
- Debugging workflow with breakpoints and inspection
- Search and replace across entire projects
- Custom snippets and task automation
๐ Quest Rewards¶
Upon completion, you'll have earned:
- ๐ IDE Master Badge - Proof of VS Code mastery
- โก 5x Productivity Boost - Streamlined development workflow
- ๐ ๏ธ Professional Setup - Industry-standard development environment
- ๐งโโ๏ธ Developer Wizard Status - Ready for any coding challenge
๐ฎ Next Quest Suggestions¶
Now that you've mastered VS Code, consider these advanced quests:
- Git Mastery Quest - Advanced version control workflows
- Docker Development Quest - Containerized development environments
- API Development Quest - Building and testing APIs in VS Code
- Test-Driven Development Quest - TDD workflows and testing frameworks
- Cloud Development Quest - Remote development and cloud integration
๐ Additional Resources¶
Official Documentation¶
Community Resources¶
YouTube Channels¶
Congratulations, brave code warrior! You have successfully forged VS Code into your ultimate development weapon. With a fully configured editor at your command, no coding challenge shall stand in your way. Your journey to IT mastery continuesโmay your code be bug-free and your deployments successful! โ๏ธโจ
Achievement Unlocked: VS Code Master ๐ Continue your adventure with the next quest in your chosen specialization path!
๐ธ๏ธ Knowledge Graph¶
Structured wiki-links connect this quest to the IT-Journey knowledge graph. Open the Obsidian Graph View to explore connections.
Level hub: [[Level 0000 - Foundation & Init World]] Overworld: [[๐ฐ Overworld - Master Quest Map]] Recommended: [[Hello n00b: Your First Steps into the IT Journey]] Parallel quests: [[Hello Windows: Mastering the Windows Development Environment]] ยท [[Hello macOS: Setting Up the Apple Kingdom]] Obsidian docs: [[Obsidian Knowledge Graph and Wiki Links]]