用 VS Code 和 Sublime Text 写 Python 哪个更合适?

讨论 未结 38 47
Richard14
Richard14 会员 2022年4月23日 03:14 发表
<p>两个都用过,但感觉都有一些小痛点。</p> <p>泛用性更强的肯定是 vscode 了,功能毫无疑问的更强大,但是个人使用感觉的缺点:</p> <ol> <li>解释器需要配置,不能开箱即用</li> <li>执行速度相对来说慢一丢丢,不太清楚为什么会这样,每次 build 要等个一两秒,与 sublime 的 0.2 秒闪电出结果体验上差很多</li> <li>自动补全功能感觉没有 sublime 强大,像后者如果我定义一个变量<code>my_name_is_richard</code>,其他地方引用这个变量,输入其中几乎任意字母组合都能瞬间补出来,比如<code>mnir</code>回车,或者<code>nr</code>回车,甚至<code>ad</code>回车也能补出来,vscode 里补全总感觉比较玄学,有时候补得很快,有时候不知道为什么补不出来。</li> </ol> <p>Sublime Text 的缺点在于:</p> <ol> <li>泛用性差,插件生态和 vscode 差一个量级。</li> <li>自动补全非常强,但智能提示非常拉胯,期待的使用体验是,输入一个未知对象,按.直接可以查看内部属性和方法,sublime 默认配置下无插件那就是啥也提示不出来,插件我不知道怎么配才能做到。</li> </ol> <p>当然了 sublime 的优点是快如闪电。。更多时候当做系统默认文本编辑器的替代品也是很不错的。</p> <p>当然写 py 还有 jb 家的 pycharm 比这两个都更主流,功能也更强大,但是我不常用的原因还是个人不喜欢大而全但是慢的软件,我更喜欢 ctrl+n 直接能创建新文件开始写代码,写完 ctrl+b 直接就能看到执行结果那种的爽快感。</p> <p>所以有无老哥分享一下 vscode 和 sublime 写 python 的配置教程,在执行速度、智能提示、自动补全方面应该怎么配才能写代码比较舒服?我相信这几款 ide 配好了应该都是相当好用的,也许我们可以汇总一下搞个经验分享贴</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
38个回复
  • cpf
    2022年4月23日 03:14
    我用 vscode 写 py 主要是写一些小的程序,不是啥项目,直接下个 code runner 就直接运行了,但是不知道是不是我配置的原因,我写 py 的时候老是给我用 tab 缩进,然后就给我报红波浪线,每次都要右下角自己改成用空格替换,烦死了
    0 0
  • duanguyuan
    2022年4月23日 03:14
    目前混用 vscode 和 pycharm 。关于 vscode 有个问题想请教一下:python built-in 的库,方法跳转过去,仅仅显示方法签名,没有注释没有方法体,这个怎么破?比如点击`os.system()`: ``` def system(command: StrOrBytesPath) -> int: ... ``` 我翻了 vscode 几年前的 issue ,vscode 开发者说这是 pylance 插件的问题。问题是这么多年过去了,怎么还是这个样子。难以理解。
    0 0
  • GTim
    2022年4月23日 03:14
    SB 比 VSC 另一个强大的点就是对所有临时打开的文件可查询,这点非常有用
    0 0
  • jjx
    2022年4月23日 03:45
    性能优势不重要 老老实实用 vs code 好了 我的项目 1400 多个文件 14 万行以上的代码 vs code 在 intel m3 到 m1 上都正常, 没有感觉到明显的性能拉垮
    0 0
  • butanediol2d
    2022年4月23日 03:45
    补全的话用 lsp 就可以了,不论 vscode 还是 sublime text 都是一样的。
    0 0
  • haha512
    2022年4月23日 05:14
    sublime 的优点就是打开飞快+颜值极高 至于补全什么的,vscode+Python Extension Pack+github copilot 爽的不要不要的
    0 0
  • hronro
    2022年4月23日 06:16
    Sublime Text 可以上 LSP 来获得和 VS Code 「完全一致」的智能补全体验:
    0 0
  • stimw
    2022年4月23日 07:45
    #8 并不准确。目前 pyright 是为 pylance 服务,体验上别说完全一致,甚至应该差距挺大。
    0 0
  • stimw
    2022年4月23日 07:45
    vscode 可以用 pylance ,可以用 copilot 。。至少可以在提示、重构和补全上完全超越 Sublime Text 。 sublime 甚至还不如 neovim 。。至少 neovim 可以用 copilot
    0 0
  • cmdOptionKana
    2022年4月23日 07:45
    Sublime Text 真的可惜了,明明起步早,生态建设也早,颜值高性能好,现在反而有种落伍的感觉。
    0 0
  • victorfish
    2022年4月23日 08:15
    有个问题 vscode 上库函数是不是缺得很严重,我拿了两串代码,全显示某某函数未定义。。。。
    0 0
  • darksword21
    2022年4月23日 08:15
    你因该了解下 sublime 和 code 底层使用什么技术,补全都有哪些方案,他们的区别和效果,你上面说的东西自然就不是问题了
    0 0
  • Richard14
    2022年4月23日 09:16
    试了试装了这两个,默认的类型提示必须严格保证怎么关啊,有些时候是提示给人看的,懒得标那么细,搞一大堆红色波浪线出来
    0 0
  • milkpuff
    2022年4月23日 09:16
    雀食。sublime 随便拖进来一个文件就能有代码提示。 补全用 lsp 。anaconda 插件的 github 中也推荐了 lsp 。
    0 0
  • wangkun025
    2022年4月23日 09:16
    一直用 Sublime text 。尝试了很多次 vscode ,都适应不了。
    0 0
  • kongkongyzt
    2022年4月23日 11:45
    我用的 Pycharm, sublime 纯当作我 manjaro 桌面的默认文本编辑器了
    0 0
  • jfcherng
    2022年4月23日 17:14
    #16 Hmm... settings 沒有很長,看下應該就能猜出來 "python.analysis.typeCheckingMode": "off",
    0 0
  • jfcherng
    2022年4月23日 17:14
    另一個可能性是修改下面的設定 // Allows a user to override the severity levels for individual diagnostics. // "python.analysis.diagnosticSeverityOverrides": { "reportDuplicateImport": "warning", "reportImplicitStringConcatenation": "warning", "reportMissingParameterType": "none", "reportImportCycles": "warning", "reportUnboundVariable": "warning", "reportUninitializedInstanceVariable": "none", "reportUnusedClass": "information", "reportUnusedFunction": "information", "reportUnusedImport": "information", "reportUnusedVariable": "information", }, 不過這能改的東西就很多了,可以自己去連結裡查閱,我就沒有全部列在 settings 裡了,只在 default settings 寫了比較常用的幾個。
    0 0
  • jfcherng
    2022年4月23日 17:14
    私底下我偷用 pylance , 不過在 ST 上差距不大,intellicode 沒法用, extract variable/method 在早期的時候能用,後來該功能的實作好像被移到另一個插件了(懷疑是在 ms-python.python 裡),就沒法用了。優點只剩下 semantic highlighting, 自帶某些 stubs, 和函數補全可以自動加上括號。
    0 0
  • neoblackcap
    2022年4月23日 19:14
    sublime text 卖 99USD ,这有啥可比性? 就连功能强悍的 PyCharm 也是卖 89USD ,单纯考虑使用舒适性。上 PyCharm ,不管是智能感应还是重构等编辑功能都非常厉害。 如果要考虑钱,那么 VScode 是无敌的。目前免费的综合使用就没有比它强。
    0 0
  • cassyfar
    2022年4月23日 20:14
    Sublime 不是免费的。然后他非常贵(当然你一直不买许可,甚至还写工作代码,那我也没啥好说的 要不然也不可能被 vscode 这么快速替代。
    0 0
  • LeeReamond
    2022年4月23日 21:44
    草。。我就是一直不买许可甚至还写工作代码的,犯忌讳了吗
    0 0
  • cassyfar
    2022年4月24日 00:44
    理论上是免费试用,但是没有强制的试用期。
    0 0
  • fyxtc
    2022年4月24日 01:14
    SB 的搜索功能比 VSC 体验好太多了,还有 VSC 的 VI 插件和原生的功能有很多冲突,比如命令模式下,cmd+d 多选相同词 abc ,然后按 i 进入插入模式,你能想到多个词插入的位置能不一样吗,有的光标的 abc 的前面,有的在后面,每次用到这功能我都快吐了。我 6 年前就发现这个 bug ,最近重新用 vsc 还是有这个 bug..... 另外 vsc 如果使用 vi 的 v 模式下使用 jk 扩展选中的行,然后按 x 删除经常删不完整,然后我每次只能算行 dd 或者使用光标去选。还有就是 vsc 的粘贴功能也经常让我意外。 上面的问题 sub 全部没有,体验顺滑,但是 vsc 提示和方法跳转比 sub 智能,以及终端方便。
    0 0
  • HUAXIA
    2022年4月24日 01:14
    一般项目 VSCode ,大项目 pycharm 。Sublime 不考虑
    0 0
  • GTim
    2022年4月24日 01:44
    VSC 强大就强大在智能提示,不过 SB 也能做到,就是配置太复杂了
    0 0
  • retrocode
    2022年4月24日 01:44
    基本上 脚本我都是 sublime 写的, 随用拖进 sublime 改完就丢, 一般项目就上 vscode 了,对项目的各种配置文件更友好
    0 0
  • hronro
    2022年4月24日 01:44
    #28 试用期间不能用于商业用途,换句话说就是试用期间不能写工作上的代码
    0 0
  • mogging
    2022年4月24日 02:46
    习惯用 vscode ssh 远程在 linux 下做 debug 就不想再尝试别的了,vscode 唯一不方便的地方就是迁移困难,换机器要重新来一遍,有 portable 的就好了
    0 0
  • roundgis
    2022年4月24日 02:46
    寫大一點的用 pycharm 簡單的 vim
    0 0
  • coreki
    2022年4月24日 04:46
    sb 用不来,我用 pycharm ,sb 只是当记事本
    0 0
  • Huelse
    2022年4月24日 05:17
    早期 sb 不支持中文,还不能改字符集,直接弃坑
    0 0
  • swsh007
    2022年4月24日 05:45
    pycharm 最强 sublime 启动最快
    0 0
  • cz5424
    2022年4月24日 05:45
    用 pycharm ,sublime 落伍了
    0 0
  • janxin
    2022年4月24日 07:16
    微软的那个 pylance 真的挺强的...
    0 0