✏️ Launch your code editor using Node.js.
- support
async/await - error handlers and codes
- support more editors and platforms.
- specify the editor to launch
$ npm install @umijs/launch-editor -SCommonjs
const launchEditor = require('@umijs/launch-editor');
(async () => {
try {
const res = await launchEditor.default(config)
} catch (e) {}
})()ES6 / TypeScript
import launchEditor from '@umijs/launch-editor';
(async () => {
try {
const res = await launchEditor(config)
} catch (e) {}
})()Configuration
Type: string | object | Array<string | object>
files or project path you want to open in the editor.
Type: object
Type: string | string[]
Default: Auto-detected (current process or existed editors, envs)
the function return a Promise, if having an error when launching the editor, there are some error code and message, editor (if you specify) you might use.
| code | message |
|---|---|
EPERM |
the path is permission denied |
UNKNOWN |
couldn't find your editor, might not install |
OTHER |
unknown error couldn't catch |
Type: object
Default: []
Extra options for the specified editor params, e.g., VSCode using ["-n"] to force to open a new window.
guess how many editors you have in current system.
Commonjs
const { getEditors } = require('@umijs/launch-editor');
guessEditor();
=>
[
{ name: 'subl', commands: [''] },
{ name: 'vscode', commands: [''] },
{ name: 'idea', commands: [''] },
{ name: 'atom', commands: [''] },
]$ npm install
$ npm run dev$ npm install
$ npm run test| Value | Editor | Linux | Windows | OSX |
|---|---|---|---|---|
code |
Visual Studio Code | ✓ | ✓ | ✓ |
atom |
Atom | ✓ | ✓ | |
code-insiders |
Visual Studio Code Insiders | ✓ | ✓ | ✓ |
sublime |
Sublime Text | ✓ | ✓ | ✓ |
webstorm |
WebStorm | ✓ | ✓ | ✓ |
idea |
IDEA | ✓ | ✓ |