✏️ 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 -S
Commonjs
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 | ✓ | ✓ |