Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
VS Code already includes the core tools needed for Markdown: syntax-aware editing, snippets, heading navigation, document outlines, live preview, synchronized scrolling, and Mermaid rendering. The best transformation is not installing dozens of extensions. It is creating a separate writing profile, reducing coding-related distractions, and adding only the checks and conveniences your writing workflow actually needs.
This setup works especially well for documentation, README files, technical articles, research notes, blogs, and Git-managed content. It remains a source editor rather than a WYSIWYG word processor: the Markdown file is the durable document, while the preview is only a rendering of it.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Blackmagic Design USB Davinci Resolve Editor Keyboard | $669.00 | Buy on Amazon |
| 2 |
|
Editors Keys Dedicated Keyboard for Photoshop | PC Shortcut Keyboard | $99.99 | Buy on Amazon |
| 3 |
|
Learn Markdown: The Complete Guide on Markdown Formatting | $0.99 | Buy on Amazon |
What the finished setup looks like
A practical Markdown-focused VS Code setup has:
- A dedicated Markdown Writing or Documentation profile.
- A quieter interface with the minimap, breadcrumbs, and unnecessary panels hidden.
- Word wrapping, comfortable line spacing, and Markdown-specific settings.
- Side-by-side preview for drafting and heading navigation for long documents.
- Spell checking and linting, added only when useful.
- Support for task lists, footnotes, Mermaid diagrams, front matter, and word counts where required.
- Relative images, Git version control, and a predictable project structure.
VS Code is a strong choice when you want plain files, folders, search, Git, a terminal, keyboard shortcuts, and extensibility in one desktop application. It is less suitable if you mainly want a visual editor, mobile-first note capture, database-style backlinks, or built-in hosting.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute1. Create a dedicated writing profile
Do not change your main programming setup just to make prose more comfortable. VS Code profiles can keep separate extensions, settings, keyboard preferences, and interface layouts for different kinds of work.
#1 Best Overall
- Designed for professional editors who need to work faster and turn over quickly
- Designed for DaVinci Resolve 16
- Integrated search wheel integrated directly into the keyboard
- Open the Profiles menu in VS Code.
- Choose Create Profile.
- Select the Doc Writer template if it is available in your installed version.
- Name the profile
Markdown Writing,Documentation, orResearch Notes. - Remove extensions you do not need.
- Switch between profiles from the Profiles menu whenever you move between writing and programming.
The Doc Writer template and its included extensions can change between VS Code releases, so treat it as a starting point rather than a complete, permanent recipe. The current profile documentation lists writing-oriented tools such as markdownlint, Markdown Footnotes, Markdown Checkboxes, Markdown YAML Preamble, Word Count, and Read Time.
See VS Code profiles documentation for the current interface and template availability.
2. Learn the built-in Markdown workflow first
Create a file ending in .md. VS Code should automatically select Markdown as the language mode. If it does not, click the language indicator in the status bar or open the Command Palette with Shift+Command+P on macOS or Ctrl+Shift+P on Windows/Linux, then choose Change Language Mode and select Markdown.
Before installing anything, learn these built-in commands:
| Action | macOS | Windows/Linux |
|---|---|---|
| Open Markdown preview | Shift+Command+V |
Ctrl+Shift+V |
| Open preview to the side | Command+K V |
Ctrl+K V |
| Open Command Palette | Shift+Command+P |
Ctrl+Shift+P |
| Toggle Zen Mode | Command+K Z |
Ctrl+K Z |
| Toggle sidebar | Command+B |
Ctrl+B |
| Open Settings | Command+, |
Ctrl+, |
| Go to heading in the current file | Shift+Command+O |
Ctrl+Shift+O |
| Search headings and symbols across a workspace | Command+T |
Ctrl+T |
The Outline view turns your headings into a navigable document hierarchy. This is one of the biggest differences between a basic text editor and a useful long-form writing environment: you can jump between sections without scrolling through the entire document.
Source, preview, and side-by-side views
- Editor view: best for writing, exact syntax, diffs, and portability.
- Preview view: best for checking hierarchy, links, images, tables, and rendered spacing.
- Side-by-side view: useful while learning Markdown or checking layout during drafting.
- Preview-only view: convenient for reading, but it can hide the source and make syntax problems easier to miss.
VS Code’s built-in preview targets CommonMark through markdown-it. It is not a complete GitHub Flavored Markdown renderer, so a preview that looks correct locally may still differ on GitHub, a static-site generator, or a documentation platform. Always test important content on its actual destination.
VS Code also supports Mermaid diagrams in fenced mermaid blocks:
```mermaid
flowchart LR
Idea --> Draft --> Review --> Publish
```
Mermaid support in the editor does not guarantee that the publishing destination supports Mermaid or uses the same Mermaid version and configuration.
3. Apply a conservative writing settings file
For a project-specific setup, create .vscode/settings.json in the workspace:
{
"[markdown]": {
"editor.wordWrap": "on",
"editor.acceptSuggestionOnEnter": "off",
"editor.renderWhitespace": "none",
"editor.minimap.enabled": false,
"editor.lineHeight": 1.6
},
"files.autoSave": "afterDelay",
"breadcrumbs.enabled": false,
"markdown.validate.enabled": true,
"markdown.updateLinksOnFileMove.enabled": "prompt",
"workbench.startupEditor": "none"
}
This keeps prose within the editor window, removes the minimap and breadcrumbs, makes accidental completion acceptance less likely, and prompts before changing links when files move. A line height of 1.6 is a readability preference, not a Markdown requirement.
Workspace settings travel with the project, while user settings apply more broadly. If a setting appears not to work, check the effective value in the Settings editor. Settings can be influenced by defaults, user settings, profiles, workspaces, language-specific blocks, and extensions.
Free tools Windows power users keep installed
One-click scans. No signup required.
Autosave is a trade-off. It reduces the risk of losing a draft, but it can also save incomplete text or trigger an external build process. Use manual saving if your publishing tools react to every file change.
For Markdown-specific suggestions, you can also use:
{
"[markdown]": {
"editor.quickSuggestions": {
"comments": "off",
"strings": "off"
}
}
}
Do not disable every completion feature automatically. Snippets, links, and other completions can still be valuable during documentation work.
4. Make the interface comfortable for long-form writing
Use Zen Mode when drafting. It hides much of the surrounding interface while preserving the editor. Toggle the sidebar when you need files or Outline navigation, and bring it back when organizing a project.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsOther useful adjustments include:
- Choose a theme with comfortable contrast rather than one optimized for code syntax.
- Increase editor font size and line height until paragraphs are easy to scan.
- Keep word wrapping enabled for normal prose.
- Disable the minimap if it adds visual noise.
- Disable breadcrumbs if the file path is not useful while writing.
- Keep the status bar if branch names, diagnostics, or word-count information help your workflow.
There is no universally correct writing layout. Code-heavy Markdown may benefit from narrower wrapping or visible whitespace, while article drafts usually benefit from a quieter screen.
5. Install extensions by problem, not popularity
VS Code does not include built-in spell checking as a general Markdown feature, so a spell-checking extension is often the first useful addition. Choose one that understands Markdown syntax, supports custom dictionaries, can avoid flagging URLs and code blocks, works with your language, and meets your privacy requirements. For confidential documents, consider whether it operates locally.
Linting
A Markdown linter can identify inconsistent heading levels, malformed lists, trailing spaces, and other style or structure issues. markdownlint is included in the current Doc Writer profile documentation. Lint rules are editorial policy, not objective truth: configure or disable rules that conflict with your publication platform or house style.
GitHub-style preview
A GitHub-style preview extension may make the rendered view closer to GitHub. Treat it as an approximation, not proof that GitHub or another destination will parse every feature identically.
Footnotes, task lists, and front matter
If your destination supports them, extensions for Markdown Footnotes and Markdown Checkboxes can make these forms easier to author. A Markdown YAML Preamble extension can present YAML front matter more clearly in the preview.
Front matter is platform-specific metadata. A static-site generator, blog system, or notes application may require different fields and delimiters, so copy the schema required by the target system rather than assuming all front matter is interchangeable.
Word count and reading time
Word Count and Read Time extensions are useful conveniences, but their results are estimates. Extensions may count headings, URLs, code blocks, footnotes, and front matter differently.
Keep the extension set small. Overlapping extensions can create duplicate commands, conflicting syntax behavior, slower startup, and settings that are difficult to reproduce for collaborators.
6. Preserve hard line breaks deliberately
In CommonMark-style Markdown, a hard line break can require two or more spaces at the end of a line. If VS Code removes trailing whitespace, that break may disappear.
When your document intentionally uses trailing spaces, add this Markdown-specific override:
{
"[markdown]": {
"files.trimTrailingWhitespace": false
}
}
This may conflict with a team-wide whitespace policy. Use it only when the Markdown semantics justify preserving those spaces.
7. Customize preview styling without confusing it with output
VS Code can apply a local stylesheet to its Markdown preview. Add this to your settings:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
{
"markdown.styles": [
"./.vscode/markdown-preview.css"
]
}
Then create .vscode/markdown-preview.css:
body {
max-width: 820px;
margin: 0 auto;
padding: 2rem;
line-height: 1.65;
}
h1,
h2,
h3 {
letter-spacing: -0.02em;
}
pre,
code {
font-family: "SFMono-Regular", Consolas, monospace;
}
This changes presentation in VS Code’s preview only. It does not change the Markdown parser, add unsupported syntax, or alter the HTML generated by another publishing system. A custom stylesheet can also make your preview look unlike the target website, so use it for readability rather than assuming it predicts final output.
Relative paths must resolve from the workspace context. A remote stylesheet can be configured through an HTTPS URL, but local, version-controlled CSS is easier to reproduce and avoids an unnecessary external dependency.
8. Keep preview security enabled
Markdown previews can load external resources and have configurable security levels. VS Code’s documented levels are:
- Strict: the default; scripts are disabled and untrusted content is restricted.
- Allow insecure content: permits HTTP resources while keeping scripts disabled.
- Disable: permits script execution and HTTP content.
Keep Strict unless you have a specific reason to change it and understand the workspace. Do not weaken preview security merely to make an image, iframe, or script appear. Prefer HTTPS resources, local assets, or the embed mechanism supported by your publishing platform.
9. Organize a portable Markdown project
A simple repository layout prevents links and assets from becoming tied to one computer:
project/
├── .vscode/
│ ├── settings.json
│ └── markdown-preview.css
├── images/
├── notes/
├── drafts/
└── README.md
Use relative paths for repository content, for example:

Check the following when managing links and images:
- Keep images inside the repository when they belong to the project.
- Prefer simple filenames without spaces or unusual characters.
- Check capitalization; a path that works on a case-insensitive computer may fail on a case-sensitive host.
- Confirm that image files are committed, not merely present locally.
- Consider URL encoding for special characters.
- Remember that a successful local preview does not prove that online hosting will resolve the path.
The markdown.updateLinksOnFileMove.enabled setting can prompt VS Code to update references when files move. Review those changes rather than accepting them blindly, particularly when links are intended for an external publishing system.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →10. Add reusable snippets
VS Code includes Markdown snippets for common items such as code blocks and images. You can also create personal snippets through Configure User Snippets in the Command Palette.
For example, a user snippet file can contain:
{
"Article outline": {
"prefix": "article",
"body": [
"# ${1:Title}",
"",
"## ${2:Introduction}",
"",
"${3:Opening context}",
"",
"## ${4:Main point}",
"",
"${5:Evidence or explanation}",
"",
"## ${6:Conclusion}",
"",
"${7:Next step}"
],
"description": "Starter structure for a Markdown article"
}
}
Type article in a Markdown file and accept the snippet from IntelliSense or use Insert Snippet. Similar snippets work well for front matter, callouts, image-plus-alt-text blocks, meeting notes, research notes, FAQs, and release-note entries.
11. Choose how Markdown files open
Editing should normally open the source file first. This makes syntax, links, diffs, and the actual stored content visible. If you mostly read Markdown, you can make the preview the default editor:
{
"workbench.editorAssociations": {
"*.md": "vscode.markdown.preview.editor"
}
}
This is best treated as an optional reading mode. You can still reopen the file in the normal text editor when editing is required.
Recommended Free Tools
12. Add Git and publishing in layers
VS Code is an editing environment, not a publishing platform. Build the workflow in stages:
Basic
- Write ordinary
.mdfiles. - Use the built-in preview.
- Commit the files and assets to Git.
- Share the raw files or publish through an existing platform.
Intermediate
- Use a static-site generator.
- Keep content, images, configuration, and theme files in one repository.
- Run the local preview command from VS Code’s integrated terminal.
- Run a Markdown linter before committing.
Advanced
- Add continuous-integration validation.
- Build HTML or other output formats automatically.
- Publish from the repository.
- Use front matter and a custom theme.
- Generate documentation alongside the project source.
Quarto is one option for research, reports, books, websites, and multi-format publishing. GitHub is useful for repository-based collaboration and documentation. Neither is required for ordinary Markdown writing, and VS Code itself does not host or publish your content.
Common problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Preview is missing or wrong | The file is not in Markdown language mode. | Use Change Language Mode and select Markdown; confirm the filename ends in .md. |
| Preview does not look like GitHub | VS Code’s built-in renderer targets CommonMark, not full GitHub Flavored Markdown. | Test on the actual destination and use a GitHub-style extension only as an approximation. |
| Mermaid works locally but not after publishing | The destination does not support Mermaid or uses a different version. | Check the destination’s documentation or export diagrams as images while keeping the source. |
| Images work locally but not online | Wrong relative path, capitalization, repository location, encoding, or missing commit. | Inspect the path character by character and verify the asset exists in the published repository. |
| The linter rejects valid prose | The selected rules conflict with your editorial style. | Configure project rules or disable individual rules instead of treating warnings as parser errors. |
| Custom CSS breaks the preview | A stylesheet rule or path is invalid. | Remove markdown.styles, verify the source, then add CSS back incrementally. |
| Unwanted completions keep being accepted | Suggestion acceptance is interfering with prose typing. | Adjust Markdown-specific suggestion settings without disabling useful snippets. |
| Hard line breaks disappear | Trailing whitespace is being trimmed. | Set files.trimTrailingWhitespace to false for Markdown when those spaces are intentional. |
| The profile feels heavy | Too many overlapping extensions are active. | Remove extensions one at a time and keep only tools that solve a real problem. |
| Unexpected settings apply | A higher-priority profile, workspace, language, or extension setting is taking precedence. | Inspect the effective setting in the Settings editor. |
Is VS Code the right Markdown editor?
Choose VS Code when your writing lives in folders and repositories, needs Git, benefits from strong search and navigation, or sits alongside code, JSON, YAML, and configuration files. It is particularly effective for technical writing and documentation teams that want validation, automation, and a terminal close at hand.
Consider a focused editor such as Typora if you want rendered Markdown while typing and fewer configuration decisions. Consider Obsidian if linked notes, backlinks, and personal knowledge management matter more than conventional project workflows. Consider a publishing system such as Quarto if you need reproducible reports, books, websites, or multiple output formats.
VS Code does not need to imitate every dedicated Markdown application. Its advantage is that it keeps Markdown as portable plain text while adding the navigation, version control, automation, and extensibility of a development environment.
Quick Recap
Useful official references:
- Markdown editing and preview in VS Code
- Profiles
- Settings and precedence
- Default keyboard shortcuts
- User-defined snippets
- Markdown extensions
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

