This extension for VSCode and compatible editors provides IDE-grade editing and refactoring support for Markdown files. This is most useful for large collections of Markdown documents containing lots of links between them.
This extension works best with Markdown files formatted via
Prettier or dprint. It ignores
files in the .git
, node_modules
, and vendor
folders. If you have any
feedback or requests, please
open a ticket.
Typing [
triggers autocompletion for links to Markdown files. The link title
is the first heading in the linked file. If present, Markdown IDE uses the
titleRegEx
setting in tikibase.json
to abbreviate the titles of
auto-completed links.
Typing ![
triggers autocompletion for image tags.
Typing #
triggers autocompletion with the existing headings in all Markdown
files of the current workspace.
When you rename a file, all links to this file in other Markdown files would be broken. Markdown IDE fixes this by changing the target of these links to the new filename.
When you delete a file, all links to this file in other Markdown files would be broken. Markdown IDE fixes this by removing these links.
Run the "Markdown IDE: Rename document title" command to change the primary heading of a document. Markdown IDE updates the title of matching links to that document.
Markdown IDE supports the
go to definition
movements (ctrl+mouseclick
orF12
) for links in Markdown files. If
bi-directional links are activated, following a link to another Markdown
document always moves the cursor to the first backreference to the file you came
from. If bi-directional links are not activated, it jumps to the linked heading
within the target document.
When the selection highlights a single line, Markdown IDE provides an "extract file with this title" refactor. It creates a new file with the selected text as its title and replaces the selection with a link to this new file.
When the selection highlights multiple lines, Markdown IDE provides an "extract file with this content" refactor. It asks the user for a title, creates a new file with the given title and the selected text as its content, and replaces the selection with a link to this new file.
When selecting text that is also the title of an existing note, Markdown IDE offers a code action that replaces the selection with a link to the respective note.
Tikibase is a linter for Markdown-based
wikis and knowledge bases. If you have a tikibase.json
file in your document
repo and the Tikibase linter installed, Markdown IDE runs it for you, highlights
the identified issues in VSCode, and applies auto-fixes via
code actions or the
command palette.
If present, Markdown IDE uses the titleRegEx
setting in tikibase.json
to
abbreviate auto-completed links.