/lsp-intellij

Emacs client for lsp-intellij-server

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

lsp-intellij MELPA

Emacs client for lsp-intellij-server.

Requirements

  • lsp-mode 4.1
    • If you get errors like void-function trying to load the client code (lsp-intellij.el), be sure your version of lsp-mode is up-to-date.

Optional requirements

  • flycheck
  • lsp-ui
  • company and company-lsp
  • kotlin-mode

Setup

Install the package from MELPA. Then load lsp-mode in your config and put the following hook afterward:

(with-eval-after-load 'lsp-mode
  (require 'lsp-intellij)
  (add-hook 'java-mode-hook #'lsp-intellij-enable))

Finally, start IntelliJ with the server plugin, then visit a .java file tracked by a project you've previously opened in IDEA.

You can enable Kotlin support by installing kotlin-mode, then adding another hook for lsp-intellij-enable in kotlin-mode-hook.

For features like diagnostics and snippet completion, lsp-ui and company-lsp are required. Here are the respective config options for each.

(require 'lsp-ui)
(add-hook 'lsp-after-open-hook #'lsp-ui-mode)

(require 'company-lsp)
(setq company-lsp-enable-snippet t
      company-lsp-cache-candidates t)
(push 'company-lsp company-backends)
(push 'java-mode company-global-modes)
(push 'kotlin-mode company-global-modes) ;; if using Kotlin

Spacemacs layer

See here.