June 9, 2021

IconIcon

VSCode as a Markdown Editor

Product: Visual Studio Code - Code Editing. Redefined
Price: Free

There is nothing right about this adventure. A Microsoft product? An Electron product?

I have lost my mind.

I blame Gabe Weatherhead. He talked about how he is enjoying VSCode and I got curious.

I am not doing any coding. That is not my focus. I am writing. Taking notes and doodling with words. That is what I use a text editor for.

How does VSCode fare?

Short Version: Surprisingly well.

Now for the much longer version.

Initial Roadblock

The best extension for Markdown is Markdown All in One. It makes Alfred, Keyboard Maestro, and aText - Text template, shortcut, expansion for Mac and Windows text expansions not work.

In Alfred, you can click the Features>Snippets>Auto Expansion button, go to the Tweaking pane and make the Simulated key event speed a notch lower than Fastest. That works. However, that makes Obsidian lose the ability to handle snippets from Alfred. That was a solution I did not care for. I like working in Obsidian.

The other solution I found was going to the Keyboard Shortcuts preference in VSCode and turning off the markdown.extension.onBackspaceKey. It has a key assigned to it. Delete it. I don’t know what that keyboard command was supposed to do, but it fixed the issue. The expansions work and the Alfred expansions work on the Fastest setting.

Experience of Working in VSCode

In VSCode, I am writing Markdown, text files, and the occasional JSON and CSS-based theme files. The experience of using VSCode as a code editor might be significantly different from mine.

As a Markdown-focused text editor, it does a good job.

Easy Entry of Markdown Syntax

VSCode has a pulldown menu that gives you the common Markdown syntax when you press ⌃+[Spacebar]. You choose the option you are looking for and the cursor is put in the middle of the syntax and you continue writing.

Markdown Shortcuts gives you a list of commands in the command palette which makes the entry of Markdown syntax easy.

ShortcutsShortcuts

Extensions I Found Useful

One of the strengths of VSCode is the extensive extensions library available for the product. Developers across the world have made useful extensions and you can add them to the program. Choose the ones you think are the most useful to you and get writing.

These are the extensions that I have found useful:

  1. Markdown All in One
  2. Markdown Footnotes
  3. Markdown Shortcuts
  4. Markdown Todo
  5. Bracket Pair Colorizer 2
  6. Dictionary Completion
  7. Numbered Bookmarks - Visual Studio Marketplace
  8. Typewriter Scroll Mode
  9. Word Count

Writing in VSCode

VSCode is nimble for an Electron application. I found it to be quick and responsive to my needs. Using it on an old iMac (mid-2011 with 16 megs of memory), it has no performance issues. I can keep a bunch of files open. I can move between them and the program chugs along.

I have opened large files (>8 megs) in it. It isn’t as fast as BBEdit 13, or Sublime Text, but it is fast and stable enough for work with larger files.

One of the things I like about VSCode is the smooth scrolling cursor. You push the cursor along and it helps focus on words appearing on the screen. You turn it on through the settings of VSCode.

Smooth CursorSmooth Cursor

A setting that I find useful is the location of the sidebar. On the right. Keeps your editing window from moving around when you hide/display the sidebar (⌘K ⌥B).

Sidebar to the rightSidebar to the right

The abundance of extensions means that the program supports almost everything. Two extensions which I was glad to find were:

  1. CriticMarkup for Visual Studio Code
  2. Better Fountain

Customization and Settings

VSCode is customizable. You can spend a lot of time doing that, but once you are done, you can have an editor that you love writing in.

The settings are presented in two ways. The tab pane preferences with a good search function:

GUI settingsGUI settings

and a JSON file representation:

JSON SettingsJSON Settings

Pick your favorite and customize the editor to behave as you want it to.

I added the iA Writer cursor color to VSCode:

    "workbench.colorCustomizations": {
        "editorCursor.background": "#1EBDFF",
        "editorCursor.foreground": "#1EBDFF",
    },

You can, through GitHub, sync your settings to be used in all your machines. It is built into the program and that makes it easy to have the same customized environment available on all your computers.

Oh, before I forget. There is a great Solarized theme available. Find it at Better Solarized.

Conclusions

VSCode performs surprisingly well for an Electron application. The Extensions Marketplace makes the editor shine. It is fast, stable, and a pleasure to write in.

The criticism is generic to Electron apps. Non macOS compliance. No support for Services. No support for the system spell checker and text entry shortcuts built into the macOS. No support for the ability to type two spaces to get a period, or the ability to capitalize the first letter of a new sentence. This is what I call “lazy type.” The absence of that is annoying.

Sublime Text is the closest competitor to VSCode. It is a commercial application. It is “more” macOS compliant. It uses the Services menu, and doesn’t let you “lazy type.” The Markdown plugin for Sublime Text, MarkdownEditing is better. The GitHub Markdown Snippets makes it easy to work in Markdown. I also have the advantage of being comfortable in Sublime Text, there is no good reason for me to switch to VSCode.

If I do switch to an Electron app, it will be Obsidian. It is focused on Markdown and has a feature set geared to note-taking.

If you are new to text editors. VSCode is a good choice. Distinguished by being free and supported by a vibrant extensions ecosystem, it is the dominant text editor in almost all platforms at this point.

If you can live with Electron, VSCode is a good solution for your Markdown-based text editing needs.

macosxguru at the gmail thingie.


macOS vscode markdown


Previous post
Clean Your Menubar With Hidden Bar Product: Hidden Bar Github: dwarvesf/hidden: An ultra-light MacOS utility that helps hide menu bar icons Price: Free Hidden Bar is not needed on the
Next post
Obsidian and Kanban Check this out: A Kanban board in Obsidian. Reminds me of Trello. In a text editor. It is plain text and Markdown. You can drag and drop between