My writing setup
I do almost all of my writing in Google Docs and VS Code. Occasionally I’ll take longhand notes or jot things down in Apple Notes, but the real content that I write at work and for this blog is in one of those locations.
My VS Code setup #
When I’m working in VS Code, I use several extensions to help make my work as easy as possible.
Code Spell Checker #
Misspelling things in strings in code and when writing in an IDE without built-in spell check can be a challenge. This extension adds a straightforward and easy-to-use and configure spell checker to VS Code. It also advises on some grammar rules, non-intrusively.
Code Spell Checker from Street Side Software
Markdown All in One #
This extension is best-in-class for writing Markdown. Get autocomplete for links, auto-created table of contents, and automated renumbering of lists.
There’s probably more in there, but those are the game changing features for me of this extension.
Markdown All in One from Yu Zhang
Markdownlint #
Like any good linter, this extension helps enforce style standards when writing Markdown, ensuring that your syntax is consistent and correct throughout your documents. Also critical? It highlights when link fragments (like anchor links) are invalid.
I don’t like to see linting rules while I’m writing on a specific line, so I use the following settings to better manage that:
"markdownlint.run": "onSave",
"markdownlint.focusMode": 5,
TODO Highlight #
If you add TODOs to what you write, you need to be able to find them again so that you can fix them.
Indent-Rainbow #
After writing in ReStructured Text without a linter for over a year, and with any code that I write being in Python, being able to see exactly what indent level I’m at is crucial for valid markup and syntax.
WordCounter #
I forgot I had this extension installed because it’s unobtrusive. I use it to get a quick glance of how many words I’ve written for a blog post (and provide an early indicator that I’m writing an epic by accident).
WordCounter by Etienne Faisant
What I don’t use #
I don’t use any git extensions, and I don’t use Vale.
I have GitLens installed but I’ve never actually used it because I prefer to use GitHub Desktop as my primary interface with changes that I make with git.
I don’t use Vale because I don’t use a style guide when writing my blog posts. When I’ve worked in docs-as-code environments, the style guides hadn’t been codified into Vale rules and programmatic style checking was not a priority.
Other VS Code settings #
To make sure my files always get saved:
"files.autoSave": "onFocusChange"
To manage switching between git branches even easier:
"scm.workingSets.enabled": true
To make the text that I write easier to read:
"editor.wordWrap": "on"
To see every single space in my writing and eliminate accidental double spaces:
"editor.renderWhitespace": "all"
This was especially critical when writing in ReStructured Text, because an extra space could break a list or disrupt the formatting of an entire doc. Markdown is more forgiving, but I’m in the habit of enabling this setting ever since.
Google Docs settings #
These are a few settings in Google Docs that I use all the time. Most of these can be set by going to Tools > Preferences:
- Disable show spelling and grammar suggestions. I find it distracting to have squiggly lines appear when I’m typing a super rough draft or taking notes.
- Disable automatically correcting spelling and capitalizing words. I find it especially distracting to have my words change as I’m typing them. I want typing in a Google Doc to feel almost as seamless as writing out longhand, and removing autocorrect from that process is vital.
- Disable smart quotes. They’ll screw up any formatting that you copy and paste into a code sample, and I don’t need fancy typography.
I also use keyboard shortcuts constantly, whether it’s reformatting text to be a header or to match a standard style, or to paste without formatting.
I’ve been delighted with the Copy as Markdown and Paste as Markdown options. Despite the exact markup not being what I always choose to use, it makes formatting documents for tech review or codifying hasty drafts for publishing a lot faster.
Other shortcuts for writing #
Generally, on my computer I tend to have a few keyboard shortcuts set up for the purposes of text autocomplete:
- A text replacement rule to spell my first name correctly. Sometimes I type too fast and misspell it, and that would be embarrassing.
- A text replacement rule to spell my company name correctly. Almost no matter what the company name is, it’s nice to have the failsafe.
- A text replacement rule for my email address. It’s faster to type @@ than it is to type my full email address.
I’ll also set up other rules to catch common misspellings that I make — endpoing, documetnation — as well as finish long words or phrases — authz for authorization, authn for authentication, descr for description, and more.
I’m not big on personal optimizing, but I do find it helpful to make the process of typing as effortless of a translation from mind to document as writing longhand notes for myself.