The Best Code Editor for Writers Who Code

by Daniel Reeves
The Best Code Editor for Writers Who Code

The cursor blinked at me from inside VS Code like it was waiting for an apology. I had opened the thing to edit a Markdown file — a simple essay draft, nothing more — and within thirty seconds I had accidentally triggered a multi-cursor selection, renamed a symbol I didn't know existed, and watched a sidebar called "Source Control" slide open of its own apparent volition. I closed the laptop. I made coffee. I reconsidered my life choices.

That was three years ago, and I tell the story not to mock VS Code, which is a genuinely extraordinary piece of software, but to illustrate something real about the mismatch between how writers think and how most code editors are designed. The tools were built by engineers, for engineers, and they show it — in the keyboard shortcuts that assume ten fingers trained on Vim, in the color themes that default to the dark aesthetic of a server room at 2 a.m., in the sheer density of chrome surrounding the one thing a writer actually needs: a place to put words.

But here is what I've come to believe after years of switching, complaining, and switching again: the best code editor for writers isn't the one with the fewest features. It's the one whose features you can actually forget about.

Why Writers End Up in Code Editors at All

The question worth asking first is why a writer would reach for a code editor instead of, say, a dedicated writing app. The answer, for me, came in stages. First there was Markdown — the lightweight markup language that lets you format text with plain characters, which meant my drafts were suddenly files with .md extensions that opened most naturally in tools built for code. Then came static site generators, which meant I was occasionally editing configuration files alongside my prose. Then came the mild, creeping embarrassment of asking a developer friend to fix a broken HTML tag in my newsletter template, and deciding I should at least be able to do that myself.

Writers who maintain their own websites, who publish via Jekyll or Hugo or Eleventy, who fiddle with CSS to make their bylines look right — we exist in the overlap between the literary and the technical. We don't need an IDE in the full sense. But we need something more capable than a plain text editor, and something far less intimidating than whatever a senior engineer has configured over a decade of muscle memory.

The search for the best code editor for writers is really a search for a tool that respects both sides of that overlap.

The Contenders, and What They Get Right

VS Code is the obvious starting point because it is, statistically, where most people end up. Microsoft's editor is free, fast, and almost infinitely extensible — which is both its virtue and its problem. Out of the box it feels like a cockpit. The Extensions marketplace is a rabbit hole that will consume an afternoon if you let it. But here is what changed my relationship with it: the Zen Mode. Tap a keyboard shortcut and the sidebars collapse, the tabs disappear, and you are left with text on a dark field. Pair that with a good writing-focused theme — I use "Solarized Light" during the day, which feels warmer and less clinical than the defaults — and VS Code becomes something close to pleasant for prose. The integrated terminal matters too, for the moments when you need to push a draft to a repository or run a build command without leaving the window.

The case against VS Code for writers is that it still thinks like an IDE. Spell-check requires an extension. Word count requires an extension. The application's mental model is the project folder, not the document, and writers tend to think in documents.

Which is why some writers land on Sublime Text and stay there for years. Sublime is faster to open than VS Code — noticeably so, the kind of snappy launch that makes you feel like the tool respects your time — and its distraction-free mode is cleaner out of the box. The multi-select feature, which lets you edit multiple instances of a word simultaneously, is the kind of thing that feels like a party trick until the day you need to change a character's name across a 4,000-word piece and it saves you fifteen minutes. Sublime costs money after a trial period, which filters out casual users and means the community is smaller but often more committed.

Then there is iA Writer, which occupies an interesting edge of this conversation. It is not, strictly speaking, a code editor — it won't syntax-highlight your JavaScript or help you navigate a project tree. But for writers who work primarily in Markdown and want a single, beautiful, opinionated environment, it is hard to argue with. The focus mode dims every sentence but the one you're writing. The typography is considered in a way that most code editors simply are not. If your technical needs are light — some Markdown, maybe a little front matter for your static site — iA Writer is the honest answer, even if it falls slightly outside the code editor category.

For the writer who wants to go deeper into the terminal tradition, Neovim with a minimal configuration is worth a mention, if only because the experience of learning it changes how you think about editing text. I spent two months with it. I became faster. I also became insufferable at dinner parties. The learning curve is real, and I'd only recommend it to writers who find the process of tool-mastery intrinsically interesting.

The Feature That Actually Matters

I've tested enough of these tools to have an opinion, and the opinion is this: the single most important feature for a writer in a code editor is not syntax highlighting, not Git integration, not the extension library. It is how the editor handles long lines of prose.

Code is written in short lines. Prose is not. A sentence can run to a hundred and twenty characters without being unreasonable, and if an editor wraps that line awkwardly, or forces you to scroll horizontally, or breaks the visual rhythm of a paragraph, the writing experience degrades in ways that are hard to name but easy to feel. Word wrap settings, line height, font choice, the width of the editing column — these typographic details are what separate a code editor that tolerates prose from one that actually welcomes it.

VS Code handles this with settings you have to find and configure. Sublime handles it a little more gracefully. iA Writer was designed around it. That hierarchy tells you something.

Making Peace With the Tool You Have

I've settled, for now, on VS Code with a configuration I've spent more time on than I'd like to admit. The font is iA Writer Mono, which you can download separately and use anywhere — a small act of importing the sensibility of one tool into another. The color theme is light. Word wrap is on. The minimap is off. The sidebar opens only when I call it. I've installed exactly three extensions: a spell-checker, a word-count display in the status bar, and one that lets me preview Markdown in a split pane.

It is not perfect. Nothing is. But it is mine in the way that a desk becomes yours after you've arranged it enough times — the specific disorder that is actually order, the coffee ring on the corner that you've stopped noticing.

The best code editor for writers is ultimately the one you've made uncomfortable enough compromises with to call a truce. The tools are not going to meet us where we are. They were built for a different kind of thinking, and we are borrowing them. The question is whether the borrowing costs you more than it gives you — and whether, on a good day, you can open the thing, find the cursor waiting, and simply begin.