两个都用过,但感觉都有一些小痛点。
泛用性更强的肯定是 vscode 了,功能毫无疑问的更强大,但是个人使用感觉的缺点:
my_name_is_richard
,其他地方引用这个变量,输入其中几乎任意字母组合都能瞬间补出来,比如mnir
回车,或者nr
回车,甚至ad
回车也能补出来,vscode 里补全总感觉比较玄学,有时候补得很快,有时候不知道为什么补不出来。Sublime Text 的缺点在于:
当然了 sublime 的优点是快如闪电。。更多时候当做系统默认文本编辑器的替代品也是很不错的。
当然写 py 还有 jb 家的 pycharm 比这两个都更主流,功能也更强大,但是我不常用的原因还是个人不喜欢大而全但是慢的软件,我更喜欢 ctrl+n 直接能创建新文件开始写代码,写完 ctrl+b 直接就能看到执行结果那种的爽快感。
所以有无老哥分享一下 vscode 和 sublime 写 python 的配置教程,在执行速度、智能提示、自动补全方面应该怎么配才能写代码比较舒服?我相信这几款 ide 配好了应该都是相当好用的,也许我们可以汇总一下搞个经验分享贴
1
cpf 2022-04-23 11:10:24 +08:00
我用 vscode 写 py 主要是写一些小的程序,不是啥项目,直接下个 code runner 就直接运行了,但是不知道是不是我配置的原因,我写 py 的时候老是给我用 tab 缩进,然后就给我报红波浪线,每次都要右下角自己改成用空格替换,烦死了
|
2
duanguyuan 2022-04-23 11:10:25 +08:00 1
目前混用 vscode 和 pycharm 。关于 vscode 有个问题想请教一下:python built-in 的库,方法跳转过去,仅仅显示方法签名,没有注释没有方法体,这个怎么破?比如点击`os.system()`:
``` def system(command: StrOrBytesPath) -> int: ... ``` 我翻了 vscode 几年前的 issue ,vscode 开发者说这是 pylance 插件的问题。问题是这么多年过去了,怎么还是这个样子。难以理解。 |
3
GTim 2022-04-23 11:11:06 +08:00
SB 比 VSC 另一个强大的点就是对所有临时打开的文件可查询,这点非常有用
|
4
jjx 2022-04-23 11:14:23 +08:00
性能优势不重要
老老实实用 vs code 好了 我的项目 1400 多个文件 14 万行以上的代码 vs code 在 intel m3 到 m1 上都正常, 没有感觉到明显的性能拉垮 |
5
butanediol2d 2022-04-23 11:34:37 +08:00
补全的话用 lsp 就可以了,不论 vscode 还是 sublime text 都是一样的。
|
6
haha512 2022-04-23 13:04:29 +08:00
sublime 的优点就是打开飞快+颜值极高
至于补全什么的,vscode+Python Extension Pack+github copilot 爽的不要不要的 |
7
SenLief 2022-04-23 13:16:58 +08:00
vscode wsl2 中无法补全的嘛?
|
8
hronro 2022-04-23 13:44:22 +08:00 2
Sublime Text 可以上 LSP 来获得和 VS Code 「完全一致」的智能补全体验:
https://github.com/sublimelsp/LSP https://github.com/sublimelsp/LSP-pyright |
9
HITMengbin 2022-04-23 14:47:29 +08:00
@duanguyuan 这个问题神烦,目前也没找到啥好的方式解决
|
11
stimw 2022-04-23 15:24:55 +08:00
vscode 可以用 pylance ,可以用 copilot 。。至少可以在提示、重构和补全上完全超越 Sublime Text 。
sublime 甚至还不如 neovim 。。至少 neovim 可以用 copilot |
12
cmdOptionKana 2022-04-23 15:37:43 +08:00 2
Sublime Text 真的可惜了,明明起步早,生态建设也早,颜值高性能好,现在反而有种落伍的感觉。
|
13
victorfish 2022-04-23 16:00:50 +08:00
有个问题 vscode 上库函数是不是缺得很严重,我拿了两串代码,全显示某某函数未定义。。。。
|
14
darksword21 2022-04-23 16:02:16 +08:00 via iPhone
你因该了解下 sublime 和
code 底层使用什么技术,补全都有哪些方案,他们的区别和效果,你上面说的东西自然就不是问题了 |
15
beginor 2022-04-23 16:43:14 +08:00 via Android
pycharm 才是最好的
|
16
Richard14 OP @hronro 试了试装了这两个,默认的类型提示必须严格保证怎么关啊,有些时候是提示给人看的,懒得标那么细,搞一大堆红色波浪线出来
|
17
milkpuff 2022-04-23 16:50:35 +08:00
@GTim 雀食。sublime 随便拖进来一个文件就能有代码提示。
补全用 lsp 。anaconda 插件的 github 中也推荐了 lsp 。 |
18
wangkun025 2022-04-23 16:58:18 +08:00
一直用 Sublime text 。尝试了很多次 vscode ,都适应不了。
|
19
kongkongyzt 2022-04-23 19:25:33 +08:00
我用的 Pycharm, sublime 纯当作我 manjaro 桌面的默认文本编辑器了
|
20
zhuangzhuang1988 2022-04-23 21:51:24 +08:00
为何不试试 pycharm 呢。
|
21
brucmao 2022-04-23 23:54:45 +08:00 via iPhone
Setting up Sublime Text 4 for Python
https://yeray.dev/python/setting-up-sublime-text-4-for-python |
22
jfcherng 2022-04-24 00:57:53 +08:00 1
|
23
jfcherng 2022-04-24 01:00:36 +08:00
另一個可能性是修改下面的設定
// Allows a user to override the severity levels for individual diagnostics. // @see https://github.com/microsoft/pyright/blob/master/docs/configuration.md#type-check-diagnostics-settings "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 寫了比較常用的幾個。 |
24
jfcherng 2022-04-24 01:05:20 +08:00
私底下我偷用 pylance , 不過在 ST 上差距不大,intellicode 沒法用, extract variable/method 在早期的時候能用,後來該功能的實作好像被移到另一個插件了(懷疑是在 ms-python.python 裡),就沒法用了。優點只剩下 semantic highlighting, 自帶某些 stubs, 和函數補全可以自動加上括號。
|
25
neoblackcap 2022-04-24 03:04:48 +08:00 1
sublime text 卖 99USD ,这有啥可比性?
就连功能强悍的 PyCharm 也是卖 89USD ,单纯考虑使用舒适性。上 PyCharm ,不管是智能感应还是重构等编辑功能都非常厉害。 如果要考虑钱,那么 VScode 是无敌的。目前免费的综合使用就没有比它强。 |
26
cassyfar 2022-04-24 04:10:21 +08:00
Sublime 不是免费的。然后他非常贵(当然你一直不买许可,甚至还写工作代码,那我也没啥好说的
要不然也不可能被 vscode 这么快速替代。 |
27
LeeReamond 2022-04-24 05:33:24 +08:00
@cassyfar 草。。我就是一直不买许可甚至还写工作代码的,犯忌讳了吗
|
28
cassyfar 2022-04-24 08:31:31 +08:00
@LeeReamond 理论上是免费试用,但是没有强制的试用期。
|
29
fyxtc 2022-04-24 09:09:30 +08:00
@GTim SB 的搜索功能比 VSC 体验好太多了,还有 VSC 的 VI 插件和原生的功能有很多冲突,比如命令模式下,cmd+d 多选相同词 abc ,然后按 i 进入插入模式,你能想到多个词插入的位置能不一样吗,有的光标的 abc 的前面,有的在后面,每次用到这功能我都快吐了。我 6 年前就发现这个 bug ,最近重新用 vsc 还是有这个 bug..... 另外 vsc 如果使用 vi 的 v 模式下使用 jk 扩展选中的行,然后按 x 删除经常删不完整,然后我每次只能算行 dd 或者使用光标去选。还有就是 vsc 的粘贴功能也经常让我意外。
上面的问题 sub 全部没有,体验顺滑,但是 vsc 提示和方法跳转比 sub 智能,以及终端方便。 |
30
HUAXIA 2022-04-24 09:12:33 +08:00
一般项目 VSCode ,大项目 pycharm 。Sublime 不考虑
|
32
retrocode 2022-04-24 09:19:54 +08:00
基本上 脚本我都是 sublime 写的, 随用拖进 sublime 改完就丢, 一般项目就上 vscode 了,对项目的各种配置文件更友好
|
34
raptor 2022-04-24 09:42:15 +08:00
要功能全面用 pycharm ,方便快捷用 vim……
|
35
mogging 2022-04-24 10:27:27 +08:00
习惯用 vscode ssh 远程在 linux 下做 debug 就不想再尝试别的了,vscode 唯一不方便的地方就是迁移困难,换机器要重新来一遍,有 portable 的就好了
|
36
roundgis 2022-04-24 10:35:32 +08:00 via Android
寫大一點的用 pycharm
簡單的 vim |
37
CY4suncheng 2022-04-24 12:09:48 +08:00
我觉得 pycharm 最合适。。
|
38
coreki 2022-04-24 12:22:23 +08:00
sb 用不来,我用 pycharm ,sb 只是当记事本
|
39
Huelse 2022-04-24 12:52:58 +08:00
早期 sb 不支持中文,还不能改字符集,直接弃坑
|
40
swsh007 2022-04-24 13:33:47 +08:00 via Android
pycharm 最强
sublime 启动最快 |
41
cz5424 2022-04-24 13:38:33 +08:00 via iPhone
用 pycharm ,sublime 落伍了
|
42
iyaozhen 2022-04-24 13:47:20 +08:00 3
pycharm 吧
有人说打开快慢,你为什么要关闭它呢(逃 |
43
lookStupiToForce 2022-04-24 14:18:15 +08:00 1
推荐还是 VS CODE 或者 jetbrains 的 Pycharm
sublime 真的可惜,作为一个 win+mac+linux 三地原生的文本编辑器(应该不是 webview 套壳),其本身的优质体验却因为社区生态建设没起来落后了,导致用户越来越少,很多 package 的作者也转移阵地去其他编辑器 /IDE 上开发了,sublime 的众多好用插件都陷入年久失修或者烂尾状态。 然后 sublime 社区落后的原因,很可能跟它官方压根就没想做好开发者社区,没当 package 生态建设是一回事,甚至就是有意打压社区建设,这些因素有关。 像我最近也想自己写些 sublime 的包自己先用用看,结果找文档找到官方的 package development doc ,是只有一页 html 的残缺品你敢信?简直是要啥没啥!它官方好像生怕别人通过 package 文档应该有的各种 api 逆向出来功能实现一样! 甚至在它官方文档开头,就写着你要想看到更多内容,就请去参看非官方文档,就差把直接开摆写在脸上了。 我就想开发一个它的包,只调用一些 sublime 基础的 view 、window 的功能,还得自己搜索各种社区非官文档、博客教程、so 问答,这跟 vscode 官方有手把手教你做插件的教程形成天壤之别。 官方的具体骚操作中,像 run command 的 command 名称的设定,sublime 居然是用的约定(官方文档没有任何地方写过这个),而不是你给 command 名赋值。它默认就用你设置的 class 名称(还必须是大驼峰写法,且不能有连续的大写字母,比如"OK")解析成带下划线的 command 名。 这尼玛这么基础的 run command 功能的 command 名称设置,你官方文档居然都只字未提,这让想入门的开发者从哪儿琢磨起啊!!!真就当社区文档、社区问答是你的牌面啊!我最开始知道这个被恶心了一下午,真实瞬间就不想给 sublime 写脚本了。你官方都摆烂,还指望其他开发者给你扶正了? |
44
janxin 2022-04-24 14:42:37 +08:00
微软的那个 pylance 真的挺强的...
|
45
ebingtel 2022-04-24 15:01:52 +08:00
vim 配置一下,写脚本更好用
|
46
610915518 2022-04-24 20:10:55 +08:00
vscode 路过。像我这种一会儿写 python 一会儿写别的的,能在一个软件里解决就坚决不下多个软件。
另外登录账号就能配置同步,不同项目可以在 .vscode 文件夹进行各种独特的配置,我太喜欢这种了,感觉开源都很方便,extension recommend 一贴,设置文件一放,其他人直接可以按我设置的代码风格进行编写和提交 |
47
281x1h2ez12 2022-04-26 02:25:17 +08:00
PyCharm 。原因是有 debugger ,deployment 也挺方便的,没啥毛病,对我来说够用了。
|
48
281x1h2ez12 2022-04-26 02:29:04 +08:00
多说几句。N 年前在学校的时候,周围都流行 sublime ,甚至教授讲课都开 sublime 现场演示写 Java 。当时 debug 代买的化,写 C++流行 visual studio 、xcode ,写 Java 流行 Eclipse ,Python 本身还不咋流行。后来慢慢不写 C++、Java ,只写 Python 了。大概 17 年左右发现的 PyCharm 这款 IDE ,从此就没离开过。
|
49
281x1h2ez12 2022-04-26 02:31:04 +08:00
当年写 C++还流行直接用 vim ,感觉高端的大牛都鼓吹 vim 。但不知从哪年开始,周围的同事同学都 PyCharm 了,后来的新人没见过用 vim 的。可能是工作环境变了,原先爱用 vim 的人转去了别的地方,依然用着他们喜欢的工具。
|