1.0.5 โ€ข Published 4 months ago

launch-ide v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

launch-ide ยท NPM version NPM Downloads MIT-license GITHUB-language

Automatically recognize the editor by running processes and open the specified file in it. It is compatible in Windows, MacOS and Linux.

๐Ÿ’ก Why

There are already some tools to open the file in the editor, but launch-ide has the following advantages:

  • Automatically recognize the editor by running processes, you don't need to configure the editor path.
  • Launch the ide by the executable file of the editor, so you don't need to install the command line tools of the editor such as code.
  • Support for more editors such as VSCode, Cursor, Windsurf, WebStorm, etc.
  • Compatible with platforms such as Windows, MacOS, and Linux.
  • Compatible for Chinese characters in the file path.

๐Ÿ› ๏ธ Installation

npm i launch-ide

๐Ÿš€ Usage

import { launchIDE } from 'launch-ide';

// Open the file in the current editor and position the cursor at line 10 and column 20
launchIDE({ file: '/Users/zh-lx/Desktop/test.ts', line: 10, column: 20 });

// Open the file with more options
launchIDE({ 
  file: '/Users/zh-lx/Desktop/test.ts', // required: the file path to open
  line: 10, // optional: the line number to position the cursor at
  column: 20, // optional: the column number to position the cursor at
  editor: 'code', // optional: specify the editor with IDE encoding name
});

๐Ÿ“– Parameters

interface LaunchIDEParams {
  /**
   * @required
   * @type: string
   * @description: the file path to open
   */
  file: string; 

  /**
   * @optional
   * @type: number
   * @description: the line number to position the cursor at
   */
  line?: number;

  /**
   * @optional
   * @type: number
   * @description: the column number to position the cursor at
   */
  column?: number; 

  /**
   * @optional
   * @type: string
   * @description: specify the editor with IDE encoding name
   */
  editor?: string; 

  /**
   * @optional
   * @type: string
   * @description: when you use the `editor` outside the supported list, you can specify the format of the file to open
   * @default '{file}:{line}:{column}'
   */
  format?: string;

  /**
   * @optional
   * @type: string
   * @description: reuse or open a new window to open the file
   * @default 'auto'
   */
  method?: 'reuse' | 'new' | 'auto';

  /**
   * @optional
   * @type: function
   * @description: callback function when an error occurs
   */
  onError?: (file: string, error: string) => void;
}

๐ŸŽจ Supported editors

โœ๏ธ Custom editor

There are two ways to specify the editor:

  1. Specify the editor with IDE encoding name in launchIDE.

    launchIDE({ 
      file: '/Users/zh-lx/Desktop/test.ts', 
      line: 10,
      column: 20,
      editor: 'cursor' 
    });
  2. Specify the editor with IDE encoding name in .env.local file by CODE_EDITOR.

    CODE_EDITOR=cursor

If you use the editor outside the supported list, you can specify the editor by its executable file path, please refer to Other Editor.

1.0.5

4 months ago

1.0.4

4 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.2-beta.1

5 months ago

1.0.2-beta.0

5 months ago

1.0.1

7 months ago

1.0.1-beta.0

7 months ago

1.0.0

8 months ago

1.0.0-beta.0

8 months ago