06 · AI in the IDE: VS Code, IntelliJ IDEA, Xcode

Your IDE is where AI pays off most. This page explains the four ways AI works inside an editor, then walks through three major IDEs: IntelliJ IDEA and VS Code (the main homes for Scala) and Xcode (Apple's IDE), and compares them.

Level 150 minTrack 5 · AI-assisted codingLast verified 2026-10

By the end of this page you can

Menus change, concepts don't IDE vendors ship AI updates monthly, so exact menu names and default models will drift. Every IDE here exposes the same underlying concepts, and those are what you should learn. Check each IDE's official docs for current details.

The four interaction modes

Completionghost text as you type;next-edit suggestionsTab to accept Chat / Askquestions, explanations,plans; no file changesside panel Inline editselect code + instruction→ diff to accept/rejectone file, one change Agentmulti-file changes;runs build/tests/tools;iterates until done more autonomy → more power → more need for clear goals and review
TaskBest mode
Writing code you already have in your headCompletion
"What does this do?", "Why is this failing?", "Which approach is better?"Chat / Ask
"Convert this loop to a fold", "Add error handling here"Inline edit
"Add a new endpoint with service, repository, tests; make the build pass"Agent
"Plan how to migrate this module to Scala 3"Plan mode / Ask, then Agent

IntelliJ IDEA (JetBrains)

IntelliJ IDEA with the Scala plugin is the most widely used IDE for professional Scala development. It is also common for Java and Kotlin.

AI features

Scala-specific tips in IntelliJ

VS Code

VS Code is a lightweight, extensible editor with the largest AI ecosystem. For Scala, install the Metals extension (the Scala language server). For Python, install the Python and Pylance extensions.

AI features (GitHub Copilot in VS Code)

Scala in VS Code

Xcode (Apple)

Xcode is Apple's IDE for Swift and Objective-C apps on iOS, macOS, watchOS, tvOS and visionOS. It does not target Scala, but it is useful context if you work near Apple platforms, and it shows where the industry is heading.

Coding intelligence in Xcode 26

# After enabling "Allow external agents to use Xcode tools" in Xcode > Settings > Intelligence
claude mcp add --transport stdio xcode -- xcrun mcpbridge
# or
codex mcp add xcode -- xcrun mcpbridge
The big pattern Look at what all three IDEs now do: they expose their deep code intelligence (compiler, indexer, tests, docs) to AI agents through open protocols (MCP, ACP). The best results come when the AI can use the IDE's tools instead of guessing from text. Expect every serious IDE to work this way.

Side-by-side comparison

IntelliJ IDEAVS CodeXcode
Best forScala, Java, Kotlin (JVM)Polyglot: Scala (Metals), Python, TS, everythingSwift / Apple platforms
Language intelligenceOwn deep Scala pluginLanguage servers (Metals, Pylance)Swift compiler, SourceKit
Built-in AIAI Assistant + Junie agentCopilot (built-in chat), many extensionsOn-device completion + coding assistant + agents
Model choiceMultiple cloud + localMultiple, plus bring-your-ownChatGPT, Claude, other providers, local
Agent modeYes (Junie, ACP agents)Yes (Copilot agent, third-party harnesses)Yes (26.3+)
MCPClient (use servers), and exposes IDE toolsClient (rich config)Exposes Xcode as a server for external agents
Customisation filesProject guidelines/rules, AGENTS.mdcopilot-instructions.md, AGENTS.md, .instructions.md, .agent.md, SKILL.mdAGENTS.md / agent config files
CostIDE (Community/Ultimate) + AI subscriptionFree editor + AI subscription (free tiers exist)Free; model providers may need accounts

Many developers also run a terminal agent (page 05) next to any of these IDEs. It works the same in every editor and can be pointed at the IDE's MCP server.

A reliable daily workflow

  1. Explore. Ask mode: "How does authentication work in this repo? Which files are involved?" Build your own understanding first.
  2. Plan. For anything over ~30 lines, ask for a plan: files to touch, steps, risks, tests. Edit the plan. It is cheap to fix a plan and expensive to fix code.
  3. Implement in small steps. Let the agent do one step at a time, or the whole plan if it is well specified.
  4. Verify automatically. The agent compiles and runs tests. Ask it to add tests for the change.
  5. Review like a human PR. Read the full diff. Ask "explain this change" for anything unclear. Check edge cases, naming and security.
  6. Commit in small units. Use git as your undo button: commit before big agent runs and after each good step.
Never skip review Agents produce plausible code quickly, including plausible wrong code: tests that test nothing, swallowed exceptions, deleted edge-case handling, made-up config keys. "The tests pass" is necessary but not sufficient.

Agent permissions

Agents can run terminal commands, edit files and call tools. Every serious IDE has approval settings:

SettingRecommendation for beginners
File editsAllow inside the workspace, and review the diffs.
Terminal commandsRequire approval, or auto-approve only a safe allow-list (sbt test, pytest, git status).
Destructive commandsAlways require approval: rm -rf, git push --force, database migrations, deployments.
MCP toolsOnly enable servers you trust. Approve tool calls that write or send data.
Network / webBe careful: fetched web content can contain prompt injections (page 14).

Productivity habits

Try it (20 min) In your IDE, pick a small real bug or feature. (1) Ask mode: have the AI explain the relevant code. (2) Ask for a plan with files and tests. (3) Switch to agent mode and let it implement. (4) Review the diff line by line and write down one thing it did well and one thing you had to fix.

Key takeaways