Software Engineering · Chapter 24 of 31
Your editor, and putting a model in it
What the tools are, what actually gets sent when you use them, and how to run a model on your own laptop.
An editor is where you write code; an IDE adds the machinery around it — running the program, stopping it mid-way to look at what went wrong, jumping to where something is defined. The line between the two stopped mattering years ago. What matters now is which one you can get a model into, and on what terms.
A review date, because this chapter needs one more than any other on the site.
Everything below is accurate as of August 2026. In the nine months before that, GitHub changed how GitHub Copilot is billed, reversed its default on using individual users' code for training, and added a new frontier model to the picker roughly every two to five weeks. One editor was acquired and renamed.
So learn the shape here, and check the current prices and settings yourself. Any guide to this subject that does not tell you that is lying to you.
The editors, briefly
| What it is | What is different about it | |
|---|---|---|
| VS Code | Microsoft's free editor, and the default choice for most people | Ships with no AI at all until you add an extension. Copilot is the common one, but see below — you are no longer locked to it |
| Cursor | A copy of VS Code, rebuilt around the assumption that a model reads your whole codebase | Its Tab is its own prediction model, not Copilot's. Multi-file agent work is the default rather than an add-on |
| JetBrains | IntelliJ, PyCharm and the rest — deeper language understanding, heavier | AI Assistant is the chat and completion layer; Junie is its agent. Local models do not consume credits |
| Zed | A newer, very fast editor written in Rust | Ships its own open-weight prediction model rather than depending on a vendor's |
| Devin Desktop | ⚠️ This is what Windsurf became. Cognition acquired it and renamed it on 2 June 2026 | If you search for Windsurf you will land on a renamed product with a different default agent |
What actually gets sent
This is the question a corporate reader has and almost nobody answers plainly.
Two things in that picture are worth saying again. First, GitHub's own documentation states that content exclusion — the setting an administrator uses to keep Copilot away from a sensitive folder — does not apply to agent mode or the command-line tool. An organisation that believes it has fenced off a secrets directory has fenced off half the product.
Second, and this catches people out personally rather than corporately: as of 24 April 2026, GitHub switched individual Free, Pro and Pro+ accounts to opt out for using your Copilot interactions to train models. It used to be opt in. Business and Enterprise remain excluded by contract and are unaffected. The setting is under your Copilot features page. If you set Copilot up personally before checking your employer's policy, this is the one to go and look at.
Running a model on your own machine
If you want to try this without a subscription, or your code genuinely cannot leave the building, you run the model yourself. Two tools make it easy.
# Ollama — a command-line tool that downloads and runs models
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2 # download it
ollama run llama3.2 # chat with it right here
# it also serves an API on http://localhost:11434/v1/ — that address matters, see belowLM Studio does the same job with a window you can click around in, which is gentler if the terminal is not yet comfortable. Its command-line tool is lms, and its server runs on http://localhost:1234/v1.
How much machine do you need — honestly
Quantisation, first, because every download page asks you about it. A model's numbers are normally stored at 16 bits each. Quantising squeezes them down — usually to 4 bits — which roughly quarters the memory needed at some cost to quality. Q4 is the sensible default. Q8 is when you have memory to spare. Q2 or Q3 is what you use to force a big model onto a small machine, and you will feel it.
| Your machine | What is realistically useful | Note |
|---|---|---|
| 16 GB | A 7 or 8 billion parameter model at Q4 | This is the floor for something genuinely useful, and it is a hard ceiling — you are choosing between a smaller model at better quality or a bigger one at coarser quality |
| 32 GB | 32B-class models run comfortably | 70B becomes reachable at heavy compression, though quality degrades noticeably |
| Apple Silicon | Only about 70–75% of your memory is usable for the model | So a 16 GB MacBook Air has roughly 11–12 GB for weights, not 16 |
Set your expectations before you try it, or you will draw the wrong conclusion
A 7 or 8 billion parameter model on a 16 GB laptop is genuinely good at tab completion and simple, well-scoped questions.
It is materially worse than a current hosted model at multi-file refactoring or anything requiring hard reasoning — and it is not close.
People try a local model for agentic work, find it disappointing, and conclude “AI coding does not work.” They have concluded something narrower than they think. Use local for completion and privacy; use hosted for the hard parts.
Pointing your editor at it
Here is the practical trick, and the one most guides skip. Nearly every tool in this space accepts an OpenAI-compatible address — a web address ending in /v1 that speaks a common request format. That single convention is why Ollama and LM Studio work almost everywhere:
| Editor | Can you point it at a local model? | Where |
|---|---|---|
| VS Code | Yes — and notably this works without a GitHub account or a Copilot plan at all | Chat model picker → Manage Models → add an Ollama provider |
| Cursor | Chat and inline edits: yes. Tab completion: no | Settings → Models → override the Base URL |
| JetBrains | Yes, and local models do not consume your credits | Settings → Tools → AI Assistant → Providers |
| Zed, Aider | Yes, natively — both were built model-agnostic | — |
| Claude Code, Codex CLI | No — tied to their own vendor | — |
Notice the pattern in that table. Chat and agent surfaces are open; tab completion is almost always locked to the vendor. That is not commercial spite — tab completion depends on a small model tuned specifically for very low latency, and it is the one place a general-purpose local model genuinely cannot substitute.
Check yourself