Markdown Open With
Open your Markdown files with external applications directly from the editor title bar.
Installation
Install from VSIX (local build)
- Clone the repo and build the extension package:
git clone https://github.com/ttaatoo/markdown-open-with
cd markdown-open-with
npm install
npm run compile
npm run package
- In VS Code / Cursor: Extensions → ⋯ (top right) → Install from VSIX… → choose the generated
markdown-open-with-0.1.0.vsix.
Or install from the command line:
code --install-extension markdown-open-with-0.1.0.vsix
Install from marketplace
Search for Markdown Open With in the Extensions panel and install, or run:
code --install-extension ttaatoo.markdown-open-with
Features
- Adds an Open With button to the editor title bar for Markdown files
- Configure multiple external applications (Typora, Obsidian, MarkText, custom scripts)
- QuickPick menu for selecting the target application
- Cross-platform support (macOS, Windows, Linux)
Usage
- Open any
.md file in VS Code
- Click the Open With button (external link icon) in the editor title bar
- Select an application from the QuickPick menu
If only one application is configured, it opens directly without showing the menu.
Configuration
Add applications to your settings.json:
{
"markdownOpenWith.apps": [
{
"name": "Typora",
"command": "/Applications/Typora.app/Contents/MacOS/Typora",
"args": ["{file}"]
}
]
}
Configuration fields
| Field |
Type |
Required |
Description |
name |
string |
Yes |
Display name shown in the QuickPick menu |
command |
string |
Yes |
Executable path or command name |
args |
string[] |
No |
Arguments passed to the command |
Placeholders
| Placeholder |
Replaced with |
{file} |
Absolute path of the current Markdown file |
If args is omitted, the extension defaults to ["{file}"].
macOS
{
"markdownOpenWith.apps": [
{
"name": "Typora",
"command": "/Applications/Typora.app/Contents/MacOS/Typora",
"args": ["{file}"]
},
{
"name": "Obsidian",
"command": "open",
"args": ["-a", "Obsidian", "{file}"]
}
]
}
Windows
{
"markdownOpenWith.apps": [
{
"name": "Typora",
"command": "C:\\Program Files\\Typora\\Typora.exe",
"args": ["{file}"]
},
{
"name": "MarkText",
"command": "C:\\Program Files\\MarkText\\MarkText.exe",
"args": ["{file}"]
}
]
}
Linux
{
"markdownOpenWith.apps": [
{
"name": "Typora",
"command": "typora",
"args": ["{file}"]
},
{
"name": "MarkText",
"command": "marktext",
"args": ["{file}"]
}
]
}
Security notice
This extension executes user-configured system commands.
Only configure trusted applications.
Arguments are passed as an array to child_process.spawn — no shell interpolation occurs.
Development
npm install
npm run compile
npm run test:unit
Press F5 in VS Code to launch the Extension Development Host.
License
MIT