首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
华为云
V2EX  ›  Python

在 VSCode 写 Python 的疑问

  •  
  •   kevindu · 304 天前 · 10441 次点击
    这是一个创建于 304 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有个这样的疑问,就是在函数下面写函数文档的时候,PyCharm 就会自动生成模版文档,比如这样

    """
        :param date:
        :return:
    """
    

    但是在 VSCode 中没法这么智能,请问有没有相关的插件,或者大家能不能推荐下 VSCode 下 Python 开发常用好用的插件:-)

    45 回复  |  直到 2018-07-08 15:37:09 +08:00
        1
    Kilerd   304 天前
    我觉得 vs code 写 Python 超级鸡肋。
    对 Pyenv 支持超级不好。
    还是用 PyCharm 吧。
        2
    YuHosi   304 天前 via iPhone
    我只知道文件头部注释的插件哈哈哈
        3
    LokiSharp   303 天前   ♥ 11
    不要用 VSCode,不要相信前端程序员吹的工具。
        4
    secsilm   303 天前 via Android   ♥ 2
    怎么三个评论都是反对意见的,我不服!我都是 notebook+vscode,pycharm 太臃肿
        5
    MikeFeng   303 天前
    之前用了一段时间 vscode 写 Django,后面换了 pycharm 回不去了,提示很强大
        6
    linuap   303 天前
    非回答问题。

    vsc 和 pycharm 都用过一段时间

    最后选择了 emacs :D
        7
    lguan   303 天前   ♥ 1
    @kevindu
    https://github.com/NilsJPWerner/autoDocstring

    总的来说 vs code 对 python 的支持感觉比 sublimetext 还是要好点,也支持断点调试等,楼上有人说不支持 pyenv 支持不太好的情况也不存在,至少我用 mini conda 是没问题的
        8
    jerryshao   303 天前   ♥ 1
        9
    hardman   303 天前
    我建议试用 VIM
        10
    Kilerd   303 天前
    @lguan 如果你是同时写多个项目,一个项目一个独立的 python 环境,你就知道 vscode 多难用了。
        11
    lguan   303 天前   ♥ 2
    @Kilerd 我就是写多个项目啊,通过`python.pythonPath`设置即可,这个设置可以放在文件夹级别,也可以放在 workspace 级别,完全没问题
        12
    df4VW   303 天前
    @lguan 同意。。我感觉楼上的几位都没仔细用过 vscode-python,至少没读过文档
        13
    sunwei0325   303 天前
    各种 ide 存在就是合理的,自己用不惯不代表别人用不惯。
        14
    congeec   303 天前 via iPhone
    如果你用 python3+ type hints, 俩 ide 都没问题。我还是建议用 pycharm,vscode 写 python 性能还是不如 pycharm,而且 pycharm 会对代码做静态分析,你要是坚持用 tyoe annotation, 它能帮你检查出一些类型错误。vscode 调用 mypy 啥的,真的很慢
        15
    congeec   303 天前 via iPhone
    Vim 大法好!
        16
    lguan   303 天前
    @df4VW 的确是,vscode 专门针对 python 开发有个页面的说明,我仔细读了以后,就代替 sublimetext 来用了,的确该有的都有了
        17
    20015jjw   303 天前 via Android
    反正我用 vim
        18
    casouri   303 天前
    学学 vim 然后用 spacemacs 吧,用了就回不去了
        19
    hxhc   303 天前 via Android
    Python docstring 可以试试
        20
    cls1991   303 天前
    建议直接 PyCharm 吧, 省事
        21
    zhuangzhuang1988   303 天前
    那就用 pycharm 呗
    vscode 只是对前端友好
        22
    Meli55a   303 天前
    除了 @jerryshao @lguan 说的在点子上,其余全 JB 跑题
        23
    xiaoxinxiaobai   303 天前 via Android
    @Kilerd 怕是不会用吧。。。
        24
    cszhiyue   303 天前   ♥ 1
    @Kilerd #10 #10
    @Kilerd #1 #1 对 pyenv 挺友好的啊。
    "python.pythonPath": "/usr/local/opt/pyenv/shims/python"
    在设置中这样设置,然后用 pyenv local project_directory xxx
    无痛切换
        25
    cszhiyue   303 天前
    @cszhiyue #24 补充 在 user settings 中加上 python.pythonPath 的设置
        26
    cszhiyue   303 天前
    @cszhiyue #24 说错了。。应该是在项目目录下 pyenv local xxx
        27
    daya   303 天前
    不好用,我在 C 文件里 import 了 B,B 里面 import 了 A,用 vscode 在 C 文件里使用 A 里面的类,语法检测就会报错说这个类不存在。
        28
    MemoryCorner   303 天前
    不会用不习惯,要么老老实实回去用 PyCharm,要么自己动手写插件,有啥好抱怨的
        29
    matsuz   303 天前 via iPhone
    这样做看似很智能,但其实限制了程序员只能用这一种风格的 doc string,至少给使用其他风格的人带来了不便。而这不符合 vscode 通用编辑器的定位。

    建议你自己手写 doc string,或者找个相关插件。

    另外我使用 vscode 的过程中没感觉写 python 有任何不便。如 @df4VW 所说,建议大家读一读 vscode python 插件的文档
        30
    quinoa42   303 天前
    题外话,vim 用 deoplete+jedi 大多数时候很正常,但有些 package (比如 beautifulsoup)会不能正常补全(基本上只有 constructor 能补全),有人遇到过吗?
        31
    matsuz   303 天前 via iPhone   ♥ 1
    @quinoa42 是这样的,这是 jedi 的问题。

    vscode 等一大票编辑器的智能提示都是基于 jedi,所以也有这个问题。

    要解决这个只能上 PyCharm,它是自己实现的智能提示。效果比 jedi 确实好一些。
        32
    kevindu   303 天前
    关于这个问题,我用了 @lguan 说的 https://github.com/NilsJPWerner/autoDocstring 挺好用的,谢谢!

    但是还有一个问题是,我在本地新建立了一个分支 git checkout -b,为什么直接就推送到了远程,是下面这两个配置的原因吗?我是不是应该将第一个改为 false,第二个改为 local?

    // 是否启用自动刷新
    "git.autorefresh": true,

    // 控制运行“签出到...”命令时列出的分支的类型。"all" 显示所有 refs,"local" 只显示本地分支,"tags" 只显示标记,"remote" 只显示远程分支。
    "git.checkoutType": "all",
        33
    kevindu   303 天前
    @Meli55a 哈哈哈哈哈,感谢 @lguan
        34
    matsuz   303 天前
    @kevindu 应该不是这两个设置的问题

    git.autorefresh=true
    git.checkoutType=all

    这两个都是默认设置
        35
    ivechan   303 天前
    vscode 的 vim 插件做的很不错。。
        36
    wanglaihuai   303 天前
    初学者用 VScode 路过,作为新手来说我觉得 VS 做的比 PyCharm 更人性化一点吧。感觉 PyCharm 做大项目才会用到···
        37
    lrannn   302 天前
    用 VS Code 写 C++和 Python,感觉超级难用...或许是我太菜了吧
        38
    xpresslink   302 天前
    VS Code 是个免费的通用的文本编辑器,你不能期望太高了。
    放着 Pycharm 那么好用的 IDE 你不用非要用 VS Code,Sublime Text 之类受虐。
    当然了,如果你只是偶尔写个小脚本当我没有说。
        39
    hymxm   302 天前
    哪个用着爽就用哪个
        40
    lguan   302 天前
    @xpresslink PyCharm 非常好,事实上,Idea 家的 Idea 都是非常不错的,但用 vscode 和 st 也绝不是受虐,相反,ide,编辑器,个人喜好而已,比如对我个人来说,我不能忍受 IDE 的慢,那就偏向编辑器了,vscode 对 python 的支持对我写代码来说已经足够用了,也就没问题了,还有不少人还以用 vim 为荣呢,用什么都不重要,能写出好代码的,都是好码农
        41
    xpresslink   302 天前
    @lguan 通常 I5 8G SSD 用 Pycharm 是非常流畅的。用机械硬盘启动时间确实有点长。
    你要是同时维护很多个不同环境的 Py 项目你就知道为什么了。
    文本编辑器再怎么配置也达不到专业 IDE 的三之一水平,项目管理,版本控制,重构,代码分析,远程调试之类差得太多。当然了大多数人可能用不到这些特性。
        42
    lguan   302 天前
    @xpresslink 为啥你们一直觉得我没不是维护不同环境的 python 项目呢...我不但维护不同环境的 python 项目,还同时维护数个 ruby 的项目,数个安卓项目,甚至数个 iOS 项目,你说的对,文本编辑器从专业性上是肯定比不上 IDE 的,否则 IDE 就没有存在的必要了,我只能说,各有千秋,看每个人自己的取舍了
        43
    1oNflow   187 天前
    @lguan 你好,用了你提到的插件,感觉挺好用的,但是有个疑问

    """[summary]

    Arguments:
    a {[type]} -- [description]
    b {[type]} -- [description]
    """
    自动生成以上注释后,光标停在 summary 那里,而且直接输入会替换掉 summary,我看到作者的说明 gif 里他写完 summary 直接就跳到了下面的{[type]}那里,但是我按了回车和 tab 等快捷键,还是在编辑 summary,所以想问下哪个按键可以直接跳到下一个高亮的可编辑部分啊?
        44
    wuyazi   101 天前 via iPhone
    vscode 支持 pipenv 和 git submodule
    pyCharm 连 git submodule 都不支持
        45
    wuyazi   101 天前 via iPhone
    强大个屁
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3203 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 30ms · UTC 09:17 · PVG 17:17 · LAX 02:17 · JFK 05:17
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1