VSCode的自动补全和代码提示的手感实在是太好了

所以想问一下emacs会怎么发展,还是就是小众了,感觉服务端也打不过vim了

VSCode也可以模拟vim的操作方式… 按你这个说法该不是vim也没办法发展了

用你所喜欢的就好, 就这么简单.

vsc 很好用,唯一的问题就是无法在终端下使用,另外就是内存占用很大。功能体验上是非常不错的,不过 emacs 中用 lsp 的话大部分功能都能满足了。看取舍吧

用 EAF 啊 :sunglasses:

不是一个层级的东西吧

C# 和 Java 是一个层级吗?

哈哈,mac用不了,尴尬了

平时两个都在用,VSCode 第一版就有yasnippet这个功能,插件也是很多的,是你自己用得不熟。也没贬谁抵谁的意思,两个都用得多。

2 个赞

lsp-modelsp-ui真的是难兄难弟。之前一直用的lsp-javascript-typescript,效果差强人意,然后发现tide完美的实现了vscode js/ts langserver,速度也很快。所以感觉对python来说,可能anaconda-mode之类的,速度还是会相对高一点。

所以是lsp实现的锅吗

乃要不要看看我的?不过也许只适用于 macOS (文件有点大

https://github.com/nasyxx/emacs.d/blob/master/init.el

可能需要搜索一下 ;; python ,分散在 lsp-mode 和 python 里面。主要就是把 company backend 多连了几个(

另外,里面的那个 make hash table 是我最近给 lsp-python 提的一个 pr 里用来解决那些设置上麻烦的东西(https://github.com/emacs-lsp/lsp-python/pull/23)如果合并的话,就可以用了(

30+行被你改到500+行……

我不太願意相信結合lsp-python和傳統python工具的優點要這麼多行

233,当然不用啦,那些是,python language server 的配置,像什么关闭 yapf ,开启 pydocstyle 啊,pycodestyle 忽略某些错误之类的。

请问一下,lsp python如何与pyvenv协同工作呢,项目比较多,比较依赖virtualenv,目前我采用的是在pyvenv自动切换成功后执行(run-with-idle-timer 3 nil (lambda () (add-hook 'python-mode-hook #'lsp-python-enable))),但是首次加载基本都会失败。

考虑修改一下 lsp-python 的 define? 比如添加一个判断 use-pyenv 为 t 的时候,用 virtualenv 的加载方式. 然后在项目里面的 .dir-locals.el 里面 把 use-pyenv 为 t 加进去

(lsp-define-stdio-client lsp-python "python"
                           #'projectile-project-root
                           (if use-pyenv
                               '("pyenv" "exec" "pyls")
                             '("pyls"))

谢谢🙏,我先试试

这个是不是你设了补全变量名什么的,然后popup的time设置的太小,每时每刻它都想着给你弹个窗口出来 :slight_smile:

感谢回复,不过我晳时叛变到vscode了 :joy:
这两天在研究vscode的按键和snippet系统,想看看能不能把我的配置移植过去,感觉现代编辑器的不少特性还挺吸引我的

1 个赞

其实说白了就是漂亮的界面外加原生优秀的补全系统

PS: 我也经常被诱惑间断性叛逃的说 01

不过每次临时开个小script还是习惯直接Emacs上了,毕竟补全需求一般般,除非大一点的项目,重要的是编辑体验

借地儿问:vscode 用的什么completion engine啊?不会也是lsp系吧?那差别岂不是仅仅是界面咯