推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
JerningChan
V2EX  ›  Python

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

  •  
  •   JerningChan · Feb 7, 2020 · 10063 views
    This topic created in 2472 days ago, the information mentioned may be changed or developed.
    想请问一下各位 dalao,vscode 写 py 要用什么插件才好啊?
    我现在好像就一个 python 一个 highlight-icemode
    发现原生的 print 之类的能很好提示,但是一些自己写的模块
    已经 import 了,却不能提示,这个要怎么解决一下啊?
    我是用的 mac vscode
    35 replies  •  2020-08-31 13:45:17 +08:00
    icylogic
    icylogic
    Feb 7, 2020
    2
    https://docs.microsoft.com/en-us/visualstudio/intellicode/media/python-intellicode.gif

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

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

    https://docs.python.org/3/library/typing.html
    imkuang
    imkuang
    Feb 7, 2020
    3
    官方的那个 python 插件不就够用了吗
    qcts33
    qcts33
    Feb 7, 2020
    4
    把 Jedi 禁用一下,这样就自动启用 python language server 了
    janxin
    janxin
    Feb 7, 2020
    5
    官方有个 Python 插件
    JerningChan
    JerningChan
    OP
    Feb 7, 2020
    6
    @janxin 就是叫 python 那个吧?
    那个我装了,但是我自己写的模块,import 后还是不能提示啊。。。
    JerningChan
    JerningChan
    OP
    Feb 7, 2020
    7
    @xiri 官方那个,好像提示一下自带的还是可以的,但是我今天有个很神奇的地方,time 这个模块都不提示。。。
    JerningChan
    JerningChan
    OP
    Feb 7, 2020
    8
    @icylogic 嗯,先试试这个 intellicode 看看先,谢谢哈
    dragonsunmoon
    dragonsunmoon
    Feb 7, 2020❤️2
    9
    推荐一下: 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
    terence4444
    Feb 8, 2020 via iPhone
    10
    考虑一下 pycharm 吧,不用太多配置就很好用
    i0error
    i0error
    Feb 8, 2020 via Android
    11
    tabnine
    Trim21
    Trim21
    Feb 8, 2020 via Android
    12
    自己写的模块不补全是有配置错误吧,感觉第三方工具也不一定能帮你解决这个问题
    shakaraka
    shakaraka
    Feb 8, 2020
    13
    写 py 用 vscode 本身就是个错误。。。
    deorth
    deorth
    Feb 8, 2020
    14
    官方的 python 有时能在 exception 时自动断点,有时不能,我还找不到规律。很难受
    hareandlion
    hareandlion
    Feb 8, 2020 via Android
    15
    已换回 pycharm ce…
    JerningChan
    JerningChan
    OP
    Feb 8, 2020
    16
    @terence4444 我原来也是用这个 pycharm 的,但是有时在 mbp 上用时,久了一开就要升级之类卡一会才能用😂
    JerningChan
    JerningChan
    OP
    Feb 8, 2020
    17
    @Trim21 😂,这样吗?我以前用 vim 时,用那个 ycm_extra 就可以补全自己的写的模块
    JerningChan
    JerningChan
    OP
    Feb 8, 2020
    18
    @wunonglin 其实还好吧?不过我觉得 pycharm 有个好的地方就是社区版,远程调试的虽然繁杂点,但是比 vscode 的要好,vscode 的要在目标机器装软件,而且还对系统有要求。。。简直是坑
    ytmsdy
    ytmsdy
    Feb 8, 2020
    19
    pycharm !
    ClericPy
    ClericPy
    Feb 8, 2020
    20
    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,
    就可以跳转了

    无奈
    ClericPy
    ClericPy
    Feb 8, 2020
    21
    呃
    纠正一下上贴回复
    相对引用的 bug 1 年前就修复过了, 后来我这里不生效是因为以前为了省内存
    "python.analysis.symbolsHierarchyDepthLimit": 0,
    这个设置删了就恢复了...

    溜了
    JerningChan
    JerningChan
    OP
    Feb 8, 2020
    22
    @ClericPy 我在想,是不是换回 pycharm 呢?
    其实我是觉得用 pycharm 在应急时 mbp 会比较麻烦啊
    ClericPy
    ClericPy
    Feb 8, 2020
    23
    @JerningChan #22 自己凭感觉吧, 社区版 Pycharm 也不错, 不喜欢折腾的人选它肯定没错

    我主要是要写多种语言, 多个 IDE 懒得换也懒得都开, 所以一直编辑器写代码, 以前用的 Sublime Text , 迁移 vscode 无痛, 不像 Pycharm 很多操作习惯改不顺手
    JerningChan
    JerningChan
    OP
    Feb 9, 2020
    24
    @ClericPy 对,我原来也是用 vim 来写的,但是有时临时换机器,发现要重配一下 vim 太艰辛了。。。
    而且 pycharm 好像会在项目目录建一个 .idea 也是烦,svn 会检测到。。。
    hxhc
    hxhc
    Feb 9, 2020 via Android
    25
    官方 Python 插件➕tabnine
    ClericPy
    ClericPy
    Feb 9, 2020
    26
    @JerningChan #24 vscode 的 .code 也烦啊, 还好 github 默认 ignore 里带了... 目前 vscode 没什么太大毛病, 内存泄漏问题已经好了很久了, 平时内存也就六七百 MB, 虽然没装插件的 Pycharm 也才五百多. 目前我用着不爽的地方就是关了 jedi 以后, 新打开的非工作区文件无法激活 code analysis, 又懒得切换解释器或者 Reload Window, 只能快捷键打开文件夹拖进来它引用的东西
    目前编程环境来说, 还是什么顺手用什么吧, Pycharm 是好使, 我也可以申请开源项目版的免费, 但尝试过十几次, 就是习惯不起来, 可能是我没处理过超过百万行的代码吧
    xiaoFine
    xiaoFine
    Feb 9, 2020
    27
    @icylogic 终于支持 Jupyter 了!

    以前 vscode 和 pycharm 的支持都不理想,一度放弃折腾回去写脚本了。。
    JerningChan
    JerningChan
    OP
    Feb 9, 2020
    28
    @hxhc 嗯?好啊,我也来试试这个先
    JerningChan
    JerningChan
    OP
    Feb 9, 2020
    29
    @ClericPy 嗯?我的好像没生成.code 啊。。。
    ClericPy
    ClericPy
    Feb 9, 2020
    30
    @JerningChan #29 .vscode 文件夹, 切换解释器就会产生, 一般是工作区独立的个人 settings.json

    补全的插件方面, 大部分都试过, 很有名气的主要是 kite, tabnine, 还有微软的

    前两者要么得安装 nodejs 环境, 要么想用有的智能服务得上传代码, 我就跳过去了, 微软的这个么, 一开始感觉用处不大, 后来发现微软自带 LS 经常崩溃或者卡死, 导致补全得等三四秒, 卡的一塌糊涂, 但是开了 intelli-code 以后就不指望那个补全了, 速度快了不少
    JerningChan
    JerningChan
    OP
    Feb 9, 2020
    31
    @ClericPy #30 😂,哦,原来这样啊,话说那你现在一直在用 intelli-code 么?
    唉,我英文水平太菜,只能上来寻求帮助啊
    JerningChan
    JerningChan
    OP
    Feb 9, 2020
    32
    @ClericPy 话说,我 intelli-code tabnine 都一齐装了,应该不会有什么冲突吧?
    ClericPy
    ClericPy
    Feb 9, 2020
    33
    @JerningChan #32
    autodocstring v0.4.0
    beautify v1.5.0
    code-blue v0.9.12
    code-runner v0.9.15
    code-settings-sync v3.4.3
    errorlens v2.9.0
    git-graph v1.21.0
    gitblame v3.0.1
    gitignore v0.6.0
    Go v0.13.0
    html-snippets v0.2.1
    indent-rainbow v7.4.0
    material-icon-theme v3.9.2
    one-monokai v0.4.6
    python v2020.1.58038
    sublime-keybindings v4.0.6
    todo-tree v0.0.167
    unique-lines v1.0.0
    vscode-autohotkey v0.2.2
    vscode-language-pack-zh-hans v1.42.2
    vscode-open-in-github v1.3.6
    vscodeintellicode v1.2.5
    necomancer
    necomancer
    Feb 11, 2020
    34
    kite,这个很厉害。
    chaleaoch
    chaleaoch
    Aug 31, 2020
    35
    @ClericPy 大佬还能找到这个 issue id 吗? #20 万分感谢.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1981 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 02:55 · PVG 10:55 · LAX 18:55 · JFK 21:55
    ♥ Do have faith in what you're doing.