Visual Studio Code is a source code editor. It is extensible, free, open-source, and cross-platform. It owes much of its success to its active community of extension developers. Whenever it lacks a certain feature, there is usually an extension to fix that shortcoming. Its out-of-the-box Markdown support includes:

  • CommonMark support
  • Syntax highlighting
  • Preview
  • Autocompletion
  • Themes
  • Code style

It does not support WYSIWIG editing. While Visual Studio Code does not come with out-of-the-box ability to export Markdown to any other formats, it can copy Markdown code with syntax coloring intact.

Visual Studio Code

Markdown extensions available in the Visual Studio marketplace extend it with the following features:

  • Extended syntax (e.g. “Markdown Extended”)
  • Markdown code formatting (e.g. “Prettier - Code formatter”)
  • Exporting to other formats (e.g. “Markdown Preview Enhanced”)
  • UI elements (e.g. “Markdown Shortcuts”)
  • Extended markdown syntax highlighting (e.g. “One Dark Pro”)
  • Linting (e.g. “markdownlint”) – It is a feature for developers but a huge annoyance for ordinary writers
  • Style-compliance kits for different services (e.g. “Docs Authoring Pack” for Microsoft Docs)
  • Spelling check (e.g. “Code Spell Checker”)

Visual Studio Code, with Markdown Preview Enhanced, Markdownlint, and One Dark Pro

VSCode Markdown Support

VSCode provides support for the following Markdown elements.

Element Support Notes
Headings Yes
Paragraphs Yes
Line Breaks Yes
Bold Yes
Italic Yes
Blockquotes Yes
Ordered Lists Yes
Unordered Lists Yes
Code Yes
Horizontal Rules Yes
Links Yes
Images Yes Image display in preview is subject to content security policy, adjustable from the drop-down menu to the top-right
Tables Yes
Fenced Code Blocks Yes
Syntax Highlighting Yes
Footnotes Partial In code editor only. Comprehensive support requires the Markdown Preview Enhanced extension.
Heading IDs Partial Does not support custom IDs. Comprehensive support requires the Markdown Preview Enhanced extension.
Definition Lists Partial Requires the Markdown Preview Enhanced extension.
Strikethrough Partial Two tildes (~~word~~) only.
Task Lists Partial One of the many readily available extensions can add this feature, e.g. Markdown Preview Enhanced.
Emoji (copy and paste) Yes
Emoji (shortcodes) Partial Requires the Markdown Preview Enhanced extension.
Automatic URL Linking Yes
Disabling Automatic URL Linking Yes
HTML Yes

See Also