Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.


Eslint language server extension for coc.nvim.

Forked from vscode-eslint.

Note invoke eslint.showOutputChannel to invoke command of current eslint statusline.


If you like my extension, consider supporting me on Patreon or PayPal:

Patreon donate button PayPal donate button


In your vim/neovim run the following command:

:CocInstall coc-eslint


  • Lint javascript files using eslint.
  • Provide codeActions for fixing lint issues.
  • Provide eslint commands:
    • eslint.executeAutofix Fix all auto-fixable Problems.
    • eslint.createConfig Create ESLint configuration.
    • eslint.showOutputChannel Show Output Channel.
    • eslint.resetLibraryExecution Reset Library Execution Decisions.
    • eslint.manageLibraryExecution Manage Library Execution.
    • eslint.lintProject Run eslint for current project, add errors to quickfix list.

Configuration options

Notice these configuration settings allow you to configure the behaviour of the coc-eslint extension. They should be set in your coc-settings.json file, which can be opened with the :CocConfig command.

  • eslint.enable: Controls whether eslint is enabled or not. default: true
  • eslint.execArgv: Arguments of node used on language server start. default: []
  • eslint.packageManager: The package manager you use to install node modules. default: "npm" Valid options: ["npm","yarn","pnpm"]
  • eslint.alwaysShowStatus: Always show the ESlint status bar item. default: false
  • eslint.nodeEnv: The value of NODE_ENV to use when running eslint tasks. default: null
  • eslint.nodePath: A path added to NODE_PATH when resolving the eslint module. default: null
  • eslint.options: The eslint options object to provide args normally passed to eslint when executed from a command line (see default: {}
  • eslint.trace.server: Traces the communication between VSCode and the eslint linter service. default: "off"
  • Run the linter on save (onSave) or on type (onType) default: "onType" Valid options: ["onSave","onType"]
  • eslint.autoFixOnSave: Turns auto fix on save on or off. default: false
  • eslint.quiet: Turns on quiet mode, which ignores warnings. default: false
  • eslint.onIgnoredFiles: Whether ESLint should issue a warning on ignored files. default: "off" Valid options: ["warn","off"]
  • eslint.workingDirectories: Working directories for files in different folders.
  • eslint.validate: An array of language ids which should be validated by ESLint. If not installed ESLint will show an error.
  • eslint.probe: An array of language ids for which the extension should probe if support is installed. default: ["javascript","javascriptreact","typescript","typescriptreact","html","vue","markdown"]
  • eslint.runtime: The location of the node binary to run ESLint under. default: null
  • eslint.debug: Enables ESLint debug mode (same as --debug on the command line) default: false
  • eslint.codeAction.disableRuleComment: default: {"enable":true,"location":"separateLine"}
  • eslint.codeAction.showDocumentation: default: {"enable":true}
  • eslint.codeActionsOnSave.mode: Specifies the code action mode. Possible values are 'all' and 'problems'. default: "all" Valid options: ["all","problems"]
  • eslint.format.enable: Enables ESLint as a formatter. default: false
  • eslint.lintTask.options: Command line options applied when running the task for linting the whole workspace (see default: ["."]


The extension supports automatic fixing of warnings to the extent that it is supported by eslint. For warnings which support an auto-fix. You can apply the quick fix by either:

  • Set eslint.autoFixOnSave to true and save your file (recommended).
  • Trigger <Plug>(coc-codeaction) with mapped keys, and select a fix action in the input list.
  • Run command :CocCommand eslint.executeAutofix.
  • Trigger command eslint.executeAutofix from :CocCommand.