跳至主要内容

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).

评论

此博客中的热门博文

XEmacs 21.5 beta 35 "kohlrabi" has been released.

If you are an old XEmacs user, you may feel happy to see this from https://www.xemacs.org/.    After ten years, XEmacs released a new version 21.5. So there's still many people cares about XEmacs. The XEmacs' source repo have been moved from altassian Bitbucket to https://heptapod.net/. As Bitbucket have been dropped Mercurial support many years ago.

Fido-mode

Today, I've just discovered the Fido mode, a modified `icomplete` minor mode. `icomplete` used to be one of my favorite mode days back to my XEmacs days. Pros: It is way fast. It is much more smart in terms of find the complete candidate that you want mostly.  Cons: It does not integrate well enough with tramp yet.    `fido-mode` is a core package of Emacs 27+, and there's a vertical version available after Emacs 28+ named `fido-vertical-mode`. UPDATE: I am back with ido now