C
Dev Tools/IDE Terminal/Lesson 02

IDE + Terminal — VS Code · IntelliJ · Shell Essentials

30 min·theory

IDE + Terminal — VS Code · IntelliJ · Shell Essentials

🎯 After reading this lesson

After finishing this lesson, you will be able to confidently do the following 3 things.

  • ✅ Criteria for choosing VS Code vs IntelliJ
  • ✅ Git integration shortcuts (Ctrl+Shift+G · Alt+9)
  • ✅ The 3 shell script safety options (set -euo pipefail)

Keep the learning goals as a checklist and close the lesson once you can answer all of them.

Choosing an IDE and Key Shortcuts

In one line: IDE = moving through code at the speed of thought. Master just 5 shortcuts to double your productivity.

IDE selection criteria:

IDEStrengthsUse case
VS CodeLightweight · extensibleJS/TS · Python · general-purpose (also the base for Copilot/Cursor)
IntelliJ IDEAPowerful static analysisJava · Kotlin · Spring (Ultimate is paid)
CursorAI pair programmingAll languages (VS Code fork + Claude/GPT integration)
PyCharmPython-dedicatedDjango · scientific computing
WebStormJS-dedicatedLarge-scale frontend

7 essential shortcuts (VS Code / IntelliJ side by side):

ActionVS CodeIntelliJ
Quick file openCtrl+PCtrl+Shift+N
Global searchCtrl+Shift+FCtrl+Shift+F
Navigate to symbolCtrl+TCtrl+Alt+Shift+N
Go to definitionF12Ctrl+B
Refactor (rename)F2Shift+F6
Duplicate lineShift+Alt+DownCtrl+D
Multi-cursorCtrl+Alt+DownAlt+click

Git Integration Shortcuts — 8 You Use Every Day at Work

VS Code Git Integration

code
Ctrl+Shift+G       — Open Source Control panel
Ctrl+Enter         — Commit staged files
Ctrl+Shift+P → Git — Search all Git commands
Ctrl+K Ctrl+O      — Open another folder

2 Must-Have Extensions

  • GitLensInline blame display per line (who wrote this code and when). Just hover over the code to see the commit message, author, and date for that line.
  • Git Graph — Branch history visualization. A GUI version of gitk. Unbeatable for understanding complex merge flows.

IntelliJ Git Integration

code
Alt + 9            — Git panel (Local Changes · Log)
Ctrl + K           — Commit
Ctrl + Shift + K   — Push
Ctrl + T           — Pull (Update Project)
Alt + ` (backtick) — Full Git operations menu (branch / merge / checkout / stash)
Ctrl + Alt + Z     — Revert changes
Shift + Shift      — Quick search from anywhere (commit SHA included)

Most Common Workflow — IntelliJ

code
1. Alt + `              → Menu
2. "New Branch"         → New branch
3. Work → Ctrl + K       → Commit (select files with checkboxes)
4. Ctrl + Shift + K     → Push
5. Create PR (browser)
6. Alt + `              → "Checkout" → back to main
7. Ctrl + T             → Pull

Without touching the mouse once, you can complete the entire Git flow. Master the shortcuts and cut VCS task time by 70%.

VS Code Has a Similar Flow

code
Ctrl+Shift+G → review changes → enter message → Ctrl+Enter
F1 → "Git: Push" → Enter
F1 → "Git: Checkout to..." → select branch

Terminal + Essential Linux Commands

Files and directories:

  • ls -lah — Detailed listing (permissions · size · time)
  • find . -name "*.ts" -type f — Recursive search
  • du -sh */ — Disk usage per folder
  • tree -L 2 — Tree structure (2 levels deep)

Search and filter:

  • grep -rn "pattern" . — Recursive with line numbers
  • ripgrep (rg) — 10x faster than grep
  • cat file | head -20 / tail -f log — Top/bottom + real-time follow

Processes and resources:

  • ps aux | grep node — Find a process
  • top / htop — Real-time monitor
  • lsof -i :3000 — Process using a port
  • kill -9 <PID> — Force kill

Networking:

  • curl -i URL — Response including headers
  • ping host — Connectivity check
  • nc -zv host port — Check if port is open
  • dig domain — DNS lookup

Using pipes:

bash
# Top 10 folders by disk usage
du -sh */ 2>/dev/null | sort -h | tail -10
# Kill process holding port 3000
lsof -ti :3000 | xargs kill -9
💻 📌 The 3 Shell Script Safety Options — set -euo pipefail
💻 📌 IDE and Terminal Setup Commands
# === VS Code ===
code .                              # Open current folder
code --diff fileA fileB             # Diff two files
code --install-extension <id>       # Install extension
# Recommended extensions: ESLint, Prettier, GitLens, Error Lens, Pretty TypeScript Errors

# === IntelliJ ===
idea .                              # Open with CLI (Toolbox setup required)
# Recommended plugins: Lombok, Rainbow Brackets, Key Promoter X, GitToolBox

# === Terminal Setup (zsh + oh-my-zsh) ===
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# In .zshrc:
#   alias g='git'
#   alias gst='git status -sb'
#   alias gl='git log --oneline --graph -20'
#   alias k='kubectl'
#   export PATH="$HOME/.local/bin:$PATH"

# === fzf (fuzzy finder) — Highly Recommended ===
brew install fzf            # macOS
sudo apt install fzf        # Ubuntu
# Usage: Ctrl+R (history search), Ctrl+T (file search)

# === ripgrep (rg) ===
brew install ripgrep
rg "pattern" --type ts      # TS files only
rg -l "TODO"                # List matching files only

🤖 Try Asking AI Like This

Knowing the concepts in this lesson lets you give AI specific instructions. Instead of a vague "fix this," you can make requests with vocabulary — and that is where token savings begin.

  • "Compile my top 10 IDE shortcuts into a cheat sheet"
  • "Recommend 5 VS Code extensions that fit this project"

Why This Reduces Tokens

When you don't know the concepts, you have to ask "what does that mean?" after every AI response. Those follow-up questions eat tokens. Learn the concept once and the conversation ends in one shot.

IDE + Terminal — VS Code · IntelliJ · Shell Essentials - Dev Tools