请教一下 vscode 写 py 装哪个自动提示的插件最好用

2020-02-07 18:30:41 +08:00
 JerningChan
想请问一下各位 dalao,vscode 写 py 要用什么插件才好啊?
我现在好像就一个 python 一个 highlight-icemode
发现原生的 print 之类的能很好提示,但是一些自己写的模块
已经 import 了,却不能提示,这个要怎么解决一下啊?
我是用的 mac vscode
8685 次点击
所在节点    Python
35 条回复
icylogic
2020-02-07 18:32:27 +08:00
icylogic
2020-02-07 18:34:39 +08:00
https://docs.microsoft.com/en-us/visualstudio/intellicode/media/python-intellicode.gif

最近某版本开始甚至支持了 Jupyter Notebook,挺好用的。

自己写的没提示可能是没加 type hint

https://docs.python.org/3/library/typing.html
xiri
2020-02-07 18:42:08 +08:00
官方的那个 python 插件不就够用了吗
qcts33
2020-02-07 19:10:17 +08:00
把 Jedi 禁用一下,这样就自动启用 python language server 了
janxin
2020-02-07 19:47:21 +08:00
官方有个 Python 插件
JerningChan
2020-02-07 23:12:48 +08:00
@janxin 就是叫 python 那个吧?
那个我装了,但是我自己写的模块,import 后还是不能提示啊。。。
JerningChan
2020-02-07 23:14:26 +08:00
@xiri 官方那个,好像提示一下自带的还是可以的,但是我今天有个很神奇的地方,time 这个模块都不提示。。。
JerningChan
2020-02-07 23:15:37 +08:00
@icylogic 嗯,先试试这个 intellicode 看看先,谢谢哈
dragonsunmoon
2020-02-07 23:46:25 +08:00
推荐一下: Kite
Kite is a plugin for your IDE that uses machine learning to give you useful code completions for Python. Start coding faster today.
https://www.kite.com/integrations/vs-code/
terence4444
2020-02-08 00:00:38 +08:00
考虑一下 pycharm 吧,不用太多配置就很好用
i0error
2020-02-08 00:04:10 +08:00
tabnine
Trim21
2020-02-08 00:16:10 +08:00
自己写的模块不补全是有配置错误吧,感觉第三方工具也不一定能帮你解决这个问题
wunonglin
2020-02-08 00:20:05 +08:00
写 py 用 vscode 本身就是个错误。。。
deorth
2020-02-08 09:26:00 +08:00
官方的 python 有时能在 exception 时自动断点,有时不能,我还找不到规律。很难受
hareandlion
2020-02-08 09:46:11 +08:00
已换回 pycharm ce…
JerningChan
2020-02-08 10:02:49 +08:00
@terence4444 我原来也是用这个 pycharm 的,但是有时在 mbp 上用时,久了一开就要升级之类卡一会才能用😂
JerningChan
2020-02-08 10:03:59 +08:00
@Trim21 😂,这样吗?我以前用 vim 时,用那个 ycm_extra 就可以补全自己的写的模块
JerningChan
2020-02-08 10:05:25 +08:00
@wunonglin 其实还好吧?不过我觉得 pycharm 有个好的地方就是社区版,远程调试的虽然繁杂点,但是比 vscode 的要好,vscode 的要在目标机器装软件,而且还对系统有要求。。。简直是坑
ytmsdy
2020-02-08 11:22:21 +08:00
pycharm !
ClericPy
2020-02-08 13:39:20 +08:00
1. 既然楼上已经提到关掉 jedi 用微软自带的 LSP, 那我稍微说下这个自带补全的感受... 刚开始用的时候惊为天人, 好用, 配合 mypy 和 type hints 做 linter, 体验不错, 跳转速度解析速度以及文档提示体验极棒, 也不用老去 jedi 文件夹删那两三个 GB 的 cache, 因为微软 LSP 的 cache 在哪至今没找到...

2. 用过半年左右, 发现只开微软的自动补全, 提示会奇卡无比, 后台分析目录的速度也越来越慢, 进而不装 intelligence code 插件, 都没法快速提示补全了, 每次都要自己 ctrl+enter 等半天出结果, 也没找到什么靠谱点的解决方法, 凑合使着

3. Python 插件在官方 github 上有个 issue 讲的是那些 from .xx import xxx 的导入无法跳转, 这个在 jedi 是正常补全的, Pycharm 里也是正常补全的, 就 VSCODE 里用微软 LS 的情况下无法跳转到定义, issue 里好像提到是 LS 那边 upstream 问题, 至今没修复, 测试的方式如下

代码输入
from asyncio.base_events import tasks
跳转到 base_events
里面很多

from . import constants
from . import coroutines
from . import events
from . import futures
from . import protocols

这些都没法再次跳转了, 但是在 settings 里注释掉
// "python.jediEnabled": false,
就可以跳转了

无奈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/642820

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX