跳至主要内容

Eglot mode with MS pylance language server

Step by Step how-to follows

  1. Install Pylance by any means. I did it by install it from VS Code plugin manager. (You know, language server is the VS Code thing).
  2. Install nodejs by any means. I did it by doing a choco install nodejs.
  3. In emacs M-x package-list-packages search for eglot-mode mark it to be installed with key i, then hit key x to install.
  4. Configure Emacs to initialize package-system and elgot by adding the following elisp snippets to init.el.

    (require 'package)
    
    (package-initialize)
    
    (require 'eglot)
    
    ;; VSCode install extentions in ~/.vscode or %UserProfile%\.vscode directory. e.g.
    ;; C:\\Users\\ekaifan\\.vscode\\extensions\\ms-python.vscode-pylance-2020.8.2\\server\\server.bundle.js
    (add-to-list 'eglot-server-programs '(python-mode . ("node" "PATH_TO_YOUR_PYLANCE_SERVER_DOT_BUNDLE_DOT_JS" "--stdio")))
    (add-hook 'python-mode-hook 'eglot-ensure)
    
    
  5. Customize your eglot behavior by M-x customize-group <RET> eglot <RET>.

Make sure your eglot program started with correct utilities

For python language server, you may have to ensure your python environment is right if you have multiple ones available.

I did it by via conda-mode, as I am using miniconda, and I have multiple conda environment for different purpose (projects).

评论