VS Code Top-Ten Pro Tips
Based on Fireship's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Use Ctrl+P to centralize navigation and actions; typing a filename inside the command palette jumps to matching files quickly.
Briefing
Visual Studio Code’s biggest advantage isn’t just that it’s popular—it’s that it compresses a whole development workflow (navigation, scaffolding, running tasks, autocompletion, debugging, and Git) into one editor. The practical payoff is speed: fewer context switches between the file system, the terminal, and the browser, plus safer refactors and stronger tooling when using TypeScript.
The workflow starts with moving around the project without clicking. Opening a folder from the command line gets the editor pointed at the right place immediately, while memorizing a few key bindings keeps momentum. Ctrl+P brings up the command palette and becomes the hub for most actions. From there, typing a filename jumps directly to matching files in the workspace tree—faster than browsing directories. For more precise navigation, a bookmark plugin lets developers mark specific code blocks with numbers and return to them later through the same command palette.
For Angular projects, productivity gains come from snippet libraries. Installing snippet packs (notably from Mike Moreland and John Papa) feeds Angular boilerplate into VS Code’s IntelliSense, so typing a snippet prefix can generate repetitive structures like an NG switch statement. The same approach extends to related ecosystems such as Angular Material and other Angular-adjacent libraries.
The editor’s command-line integration also reduces friction. VS Code’s integrated terminal (E) can be opened quickly, and the command palette can surface project scripts automatically—so NPM tasks appear without manually typing long commands. That leads into IntelliSense, which is especially powerful in strongly typed languages like TypeScript. Developers can use Ctrl+Space for completion, use @ in the command palette to list interfaces, methods, and properties defined in a file, and jump to type definitions with “Peek definition.” “Find references” reveals every usage site of an interface across the project, while “Rename symbol” (F2) updates all references safely—avoiding the brittleness of text-based find-and-replace.
Strong typing can also be retrofitted. The “Paste JSON as Code” extension turns a pasted JSON response (example shown with the Twitter API) into TypeScript interfaces, giving immediate tooling benefits even when an API doesn’t ship types.
When things break, VS Code’s debugging workflow aims to keep state visible. Zen mode (Ctrl+K Z) can strip distractions, then the debugger can attach to a Node script with breakpoints, local variables, call stacks, and a live debug console. For front-end work, the Chrome debugger lets Angular apps run on localhost:4200 with breakpoints set before component initialization and on user actions like button clicks, while the debugger highlights code and exposes runtime state.
Version control is handled inside the editor as well. Git status coloring (green modified, yellow untracked, red errors) appears directly in the file list, and commits can be made from the Git tab without running git add/commit commands manually. Rollbacks, file-level reverts, and partial staging (plus button) support more careful changes. For team-heavy work, GitLens adds commit history and “who changed what and when” context, including hover annotations and richer Git navigation.
Finally, collaboration features round out the toolset. VS Code Live Share connects a GitHub or Microsoft account to enable real-time co-editing—positioned as a Google Docs-style workflow for code—so multiple developers can work on the same document together. Together, these features make VS Code less of a text editor and more of an end-to-end development environment.
Cornell Notes
VS Code’s pro tips focus on compressing the full development loop—navigation, scaffolding, running tasks, autocompletion, debugging, and Git—into one place. Fast project navigation relies on Ctrl+P (command palette) and filename search, with optional code-block bookmarking for precise jumps. TypeScript-driven IntelliSense boosts productivity through completion, @-based symbol listing, Peek definition, Find references, and Rename symbol (F2), while “Paste JSON as Code” can generate interfaces from pasted API JSON (example: Twitter API). Debugging supports both Node scripts and Angular-in-Chrome workflows with breakpoints, variable inspection, and a live debug console. Git integration (plus GitLens) brings status, commits, staging, and “who changed what” context into the editor, and Live Share enables real-time collaboration via GitHub or Microsoft accounts.
How does Ctrl+P change day-to-day navigation in a large codebase?
Why does TypeScript tooling matter more than generic autocomplete?
What’s the practical value of “Paste JSON as Code” for API work?
How does debugging differ between Node scripts and Angular in the browser?
What Git workflow improvements come from using VS Code’s Git tab and GitLens?
How does VS Code Live Share support team collaboration?
Review Questions
- Which specific key bindings and command palette actions help you jump to files, list symbols, and navigate to definitions or references?
- How do Rename symbol (F2) and Find references reduce risk compared with basic text search?
- What steps and configurations are needed to debug an Angular app in Chrome on localhost:4200 versus a Node script?
Key Points
- 1
Use Ctrl+P to centralize navigation and actions; typing a filename inside the command palette jumps to matching files quickly.
- 2
Bookmark code blocks with a plugin so specific sections can be revisited later through the command palette.
- 3
Install Angular snippet libraries (Mike Moreland and John Papa) to generate boilerplate via IntelliSense snippet prefixes.
- 4
Leverage TypeScript IntelliSense features—@ symbol listing, Peek definition, Find references, and Rename symbol (F2)—to navigate and refactor safely.
- 5
Use “Paste JSON as Code” to generate TypeScript interfaces from pasted API JSON, enabling strong typing even without provided types.
- 6
Debug with breakpoints and variable inspection for Node scripts, then switch to Chrome debugging with an Angular launch configuration on localhost:4200 for browser-context issues.
- 7
Manage Git directly in the editor with the Git tab (commit, rollback, revert, partial staging) and add GitLens for hover-based commit history and authorship context.