
讨论帖子,非引战贴,个人认为 IDE 学习成本太高。所以想了解下,各位朋友,IDE 有哪些很吸引你们的功能?
1 pynix 2017-09-14 15:04:41 +08:00 学习成本比 vim 低吧。。。 |
2 rustacean 2017-09-14 15:07:26 +08:00 via iPhone 两个不是一种东西也能比.... |
3 visonnn 2017-09-14 15:08:10 +08:00 调试 方法跳转 不需要配置就可以使用的一堆方便开发的功能 |
4 Jimrussell 2017-09-14 15:08:42 +08:00 老生常谈了。比如是 java 繁琐的语言,ide ( idea )里的自动完成和 vim 的自动完成(补全?)是两个不一样的概念。ide 开箱即用也不知道你所谓的学习成本高高在哪里。写页面的话倒是这两相差不大。 |
5 ETiV 2017-09-14 15:08:51 +08:00 via iPhone IDE 学习成本高…?认真的吗…… |
6 SuperMild 2017-09-14 15:09:54 +08:00 IDE 界面比 vim 直观太多,不用学习就能直接使用,有什么想设置的,有 GUI 设置界面各项设定分类好了,一般可以直接找到相应的设置项目(也可以搜索),project 管理也比 vim 方便。 |
7 missdeer 2017-09-14 15:13:23 +08:00 IDE 学习成本太高。。。第一次听说 |
8 rubytek 2017-09-14 15:14:34 +08:00 觉得 IDE 成本太高的童鞋,心智上可能不太适合写代码。 |
9 debuggerx 2017-09-14 15:14:36 +08:00 代码提示,自动完成,popup 文档,语法检查,工程定义转跳,可视化断点调试和 evaluate expressions,已定义操作宏\外部命令,自己写额外插件…… jb 家自带的 git 功能,diff 和 merge 也是让人欲罢不能。。 特殊一点的还有快捷键翻译插件…… |
10 gdtv 2017-09-14 15:15:17 +08:00 我拿 phpstorm(IDE)和 vscode(VIM)开发 php 的情况对比一下: 代码提示: phpstorm 自带,提示很完美,函数和类里的方法都可以提示 vscode 要自己安装,还要安装什么 php codesniffer,还要安装 php,还要手动指定 php.exe 的位置……折腾了半天,在一台电脑上安装好,另一台电脑死活不行。就算安装好了,代码提示也不好用,某些情况下提示不了,类里的方法也提示不了。 自动格式化代码: phpstorm 自带 vscode 要自己安装,我懒得弄了。 git: phpstorm 自带 vscode 要自己安装,我懒得弄了。 总之你想开箱即用就用 IDE,想折腾就用 VIM 之类的文本编辑器。 |
11 gdtv 2017-09-14 15:17:20 +08:00 补充一下:理论来说,IDE 里所有功能,VIM 都可以通过自己配置或者加装插件来实现,但是弄起来很麻烦。 就像汽车和自行车一样,自行车经过你自己的改装和定制也可以拥有汽车一样的功能:加四个轮子、加个引擎……但是你愿意这样折腾吗? |
12 wellsc 2017-09-14 15:20:20 +08:00 用了 vim 如果只是为了 vi 键位的话,IDE 可以安装 vim extension 的 |
13 lonenol 2017-09-14 15:21:13 +08:00 IDE 学习成本难道会比 VIM 高.....你以为 VIM 的学习成本曲线是开玩笑嘛... |
14 sonyxperia 2017-09-14 15:24:19 +08:00 我觉得这个也要看你写什么项目了 反正我是没见过用 vim 在写 java web 项目的…… |
15 66beta 2017-09-14 15:27:24 +08:00 人生苦短,有空学习+配置 vim,不如多写几万行代码啦 |
16 mason961125 2017-09-14 15:40:14 +08:00 Integrated Development Environment,IDE 的全称,集成开发环境。要用的东西都已经帮你集成好了,Debug 什么的都是点个鼠标就行了,难道 Vim 在默认配置下可以吗? |
17 Miy4mori 2017-09-14 15:51:06 +08:00 via iPhone 讨()论()帖 |
18 MaxTan 2017-09-14 16:06:48 +08:00 调试打断点和重构比 vim 方便 |
19 clino 2017-09-14 16:08:32 +08:00 我喜欢用的都是编辑器,vscode 这个应该也算是编辑器吧,不能算是 ide |
20 ChristopherWu 2017-09-14 16:19:45 +08:00 vim 可以给你带来 写代码时顺畅没有中断的流体验,也就是愉悦感。 提高效率?不会的。 你写代码的速度远远慢于你思考的速度。程序员不会因为使用哪个 IDE 或者编辑器就变厉害。 缺点就是你需要配置你的 vim,写哪个语言要找哪个插件,慢慢配置。当然,其他 IDE 也需要如此; P |
21 noNOno 2017-09-14 16:23:01 +08:00 作为日常写脚本语言的人,IDE 没什么吸引我的功能,我选择 emacs |
22 gouchaoer 2017-09-14 16:23:02 +08:00 用 VIM 根本没法干活 |
23 gouchaoer 2017-09-14 16:24:30 +08:00 @ChristopherWu 扯淡呢,google 码农平均每天采写 100 多行代码,你能写多快?写业务没 typehint 根本没法写 |
24 ChristopherWu 2017-09-14 16:28:32 +08:00 @gouchaoer 你有好好看我说的话吗。。 |
25 newkedison 2017-09-14 16:28:48 +08:00 虽然这明显不是讨论帖,但是我还是得列举一下 IDE 的优势: 1. 启动时间比较长,这段时间可以喝水,聊天,摸鱼,长期来说对身体比较好 2. 对电脑性能要求比较高,可以要求老板换高配电脑 3. 为了同时查看多个窗口,可以要求换大显示器 4. 有些需要花钱购买,有优越感 5. 有啥功能用啥功能,如果一个需要的功能没有,那就等下一个版本,万一作者一高兴就实现了呢?不用自己折腾,省心 |
26 gouchaoer 2017-09-14 16:41:35 +08:00 @ChristopherWu 我写 php 如果给我 eclipse 那我工作效率就是用 vim 的 2 倍 |
27 codeface 2017-09-14 16:42:22 +08:00 省心。 |
28 SoulSleep 2017-09-14 16:43:37 +08:00 门槛低啊,用百度就可以搜到解决方案... 相比较来说,能用 IDE,不用 vi...没必要刻意 geeker 吧? |
29 gouchaoer 2017-09-14 16:43:43 +08:00 vim 那么难,你们都是怎么学会的啊?我学了那么多年还是记不住各种命令,太难了,不会 |
30 root787 2017-09-14 16:44:44 +08:00 估计楼主是个学生。 |
31 x86 2017-09-14 16:46:35 +08:00 IDE 还学习成本高??? |
32 Chingim 2017-09-14 16:47:12 +08:00 via Android 大而全,小而美 |
33 yzmm 2017-09-14 16:49:51 +08:00 你把 idea 家的 IDE 熟悉后试试 |
34 AckywOw 2017-09-14 17:05:53 +08:00 只有闲人才会想着用 vim 搞搞装装 X,忙成狗的拿个不忙着用 IDE 各种码 |
35 ivechan 2017-09-14 17:16:08 +08:00 我有点奇怪, 为什么有用 XX 就是装逼这种言论. 每个人都有自己的选择, 用合适的工具做合适的事情, 不是挺好? |
37 ivechan 2017-09-14 17:22:49 +08:00 chrome 项目上的 Editors Guides 上, 包括了以下几个 Edito r 或 IDE 的简单介绍, {Atom, Eclipse, Emacs cscope, QtCreator, SlickEdit, Sublime Text, Visual Studio Code} 至少说明有相当一部分数量的人用着 Sublime Text 这种调试非常困难的编辑器去开发. 难道他们都是装 X? 每个人有自己的偏好不是正常吗? 只要完成任务不就行了. |
38 binux 2017-09-14 17:30:40 +08:00 说得好,所以我用 IDE vim binding |
39 Actrace 2017-09-14 17:35:00 +08:00 想用 IDE 还需要什么理由? |
41 viator42 2017-09-14 17:50:27 +08:00 via iPhone Vim 替代 ide 就相当于放着筷子不用用勺子吃面条,练习之后也能吃的很 6,但这没有多大意义 |
42 mineyouhe 2017-09-14 18:02:18 +08:00 vim 可能就是完全脱离鼠标了吧,ide 应该也差不能完全脱离鼠标 |
43 ikw 2017-09-14 18:09:41 +08:00 就是顺手吧,我喜欢在服务器上开发,毕竟 20C40T + 128RAM,而且不需要从键盘换到鼠标。 所以,我用 emacs |
44 rogerchen 2017-09-14 18:11:31 +08:00 vim 配上天了也就是个乞丐版的 IDE,除非你的工作是在延迟超高的远程服务器上写代码,否则实在很难说 vim 有什么优势。 |
45 zzuieliyaoli 2017-09-14 18:18:35 +08:00 @sonyxperia 我见过,23333 |
46 vardarling 2017-09-14 18:20:21 +08:00 via iPhone 用了 vim 后再也不想用 ide 了 |
47 timothyye 2017-09-14 18:20:47 +08:00 via Android 能充分利用鼠标也算是一大优势 |
48 UnknownR 2017-09-14 18:32:18 +08:00 只写不调试,我喜欢编辑器,有图形编辑器可以用的时候用 sublimetext,vscode 之类的,在服务器上直接用 vi 或者 vim,要调试就用 ide |
49 tomwei7 2017-09-14 18:33:37 +08:00 IDE 适合喜欢 开箱即用、不折腾的人,而且 IDE 一般对于一门语言可能已经做了很好的优化,在代码补全、跳转、调试方面功能都比较完善。 而 VIM 只有一个拥有强大扩展能力的编辑器,你可以像搭积木一样打造 “自己的 IDE ”,可以按照自己的喜好定制,但是需要长时间折腾,成本较高。 |
50 SEARCHINGFREE 2017-09-14 18:37:21 +08:00 我被 IDE 傻瓜化了,点点点点点 |
51 cjyang1128 2017-09-14 18:53:07 +08:00 我觉得如果没有 IDE,多线程调试可能要跳楼 |
52 linus3389 2017-09-14 19:05:20 +08:00 楼主一定没用过巨硬的天下第一 Studio 和 JB 全家桶系列? |
53 luoer 2017-09-14 19:10:16 +08:00 vim 比 IDE 省内存 |
54 pandago 2017-09-14 19:11:27 +08:00 via iPhone @newkedison 老哥稳 |
55 lixm 2017-09-14 19:16:23 +08:00 不用 IDE 你们怎么记住那么多,那么长的方法名的? |
56 fy 2017-09-14 19:17:15 +08:00 IDE 成本高?我现在觉得相比用什么写,写什么才是最重要的。 比如学一门新语言,直接花 10 分钟下载安装一个傻瓜化的,到处都体验一致的 IDE 不好吗,何必花两个小时配置半天 vim,10 分钟后发现这门语言不适合我? |
57 MinonHeart 2017-09-14 19:24:28 +08:00 via iPhone IDE 开箱即用 |
58 symons OP 呃,这确实是一个讨论帖子,从我自身出发,开发主要语言是 python 和 golang,是使用 vim 来做日常开发的。先介绍下我的开发环境吧。 目前主要是在开发机上进行开发 python 相关插件: 用 jedi-vim 来进行代码补全和跳转 golang 相关插件 vim-go 代码补全,跳转什么的 通用的还有 fugitive 这种。 vimrc 文件也是根据自己的需要自己来写的 总之我目前来讲,用 vim 开发是挺顺手的,无压力哈,再配合上 tmux 这种神器,可以很快恢复开发环境,进入状态。 那么我为什么要问这个问题呢,是我发现一些同事是使用 IDE 开发的,我曾经也想尝试下 pycharm 这个软件,但是操作起来确实很难习惯,需要经常用鼠标点点点,然后各种快捷键还需要再去熟悉去背等等,就放弃了。 所以我想问下大家,IDE 有哪些事情是非常不错的,想了解下,我考虑下是否花时间去学习一下。 |
60 aristotll 2017-09-14 20:19:36 +08:00 用 idea vim 可以综合 IDE 的好处和 vim 的好处 |
61 AEANWspPmj3FUhDc 2017-09-14 20:25:20 +08:00 Vim 用户,写前端和 Python 也是用的 Vim,Java 就是用的 IDEA 了。 不明白为什么说 IDE 的学习成本高,难道用鼠标点点点不傻瓜化吗? 另外,IDE 也有一套完整的快捷键的。 |
62 mcfog 2017-09-14 20:26:00 +08:00 via Android 所以锤子相较板砖有哪些优势? 紧急情况能用板砖敲钉子,有情怀也可以用锤子砌墙,但这不代表锤子和板砖就有可比性了 |
63 ipwx 2017-09-14 20:37:43 +08:00 @symons Python 你写过超过 2 万行的程序、有至少两级包结构的吗?你有需要在本地编辑自动上传到服务器运行的吗?你有需要根据 DocString 来进行自动类型推断吗?有的话就用 PyCharm 吧,绝对物超所值。 比如我的一个项目,有上万行了,Docstring 使用 NumPy 的规范书写,所以随便建个类调个函数什么的,返回值还能继续智能提示,非常方便。当然这就要求你写程序稍微注意一点了。 https://git.peidan.me/xhw15/tfsnippet/blob/dev/tfsnippet/bayes/stochastic.py |
64 hellohello123 2017-09-14 20:39:26 +08:00 项目级的重构,用过 Jetbrain 全家桶就明白了,用户体验做到了极致 |
65 ipwx 2017-09-14 20:41:35 +08:00 哦对了,PyCharm 我还有个常用功能叫做 Rename。。。Shift+F6,自动重命名符号,只要你写程序稍微注意点,一般都不用人肉复查的。另外 Mac 下面 PyCharm 有几个基本的快捷键,比如 Ctrl+N 光标向下 Ctrl+K 光标向上 Ctrl+J 光标向左 Ctrl+L 光标向右 Ctrl+K 删除光标到行尾的内容,再按一下删除换行符。稍微再配置一下可以加上 Ctrl+D 删除光标后面的一个字符。 我只用这几个快捷键。其他快捷键我都是不用的,用鼠标的。调试功能我也很少用,一般写完代码就知道有没有谱了(毕竟写代码都用 docstring 确定类型了,有类型的情况下 pycharm 的自动查错立刻可以看出来哪里写错的)。 |
66 lsido 2017-09-14 20:42:26 +08:00 via Android 这种问题也要问吗,现在写个 shell 用 ide 也是爽歪歪 |
67 geelaw 2017-09-14 21:02:57 +08:00 VIm 的学习成本高于 IDE 的。本来觉得帖子内容属于无病呻吟型,后来看了 58 楼觉得是 po 主搞不清楚迁移成本和学习成本的区别。 |
68 murmur 2017-09-14 21:07:23 +08:00 界面更漂亮(更像正统的窗口) 开箱即用 无需学习(比如 idea 你可以选择你熟悉的配色,你熟悉的键位) |
69 tangxiaoqiang123 2017-09-14 21:30:14 +08:00 不折腾 |
70 jpacg 2017-09-14 21:34:47 +08:00 根本不是一个东西,vim 就一文本编辑器。 |
71 Lonely 2017-09-14 21:35:50 +08:00 via iPhone 嗯,引战帖,鉴定完毕 |
72 bumz 2017-09-14 21:36:14 +08:00 至于 美观,学习成本 之类并不是 文本编辑器 和 IDE 的根本区别 IDE 也可以很丑,很难学习,但是它依旧是 IDE ;文本编辑器也可以很漂亮,简单易用。 二者的根本句别在于,你是在编辑文本还是编辑程序。显然的,程序不是文本,文本也不是程序。一个文本编辑器允许你写出不合乎语法的代码,含有明显 bug 的代码而置之不理,但 IDE 则无法容忍这些。相反,IDE 允许你编辑程序 对变量进行重命名,将表达式提取成变量等等。 然而编辑文本也有编辑文本的优势,比如我有 10000 个函数,我想把它们全都从 public void 变成 public final void,如果 IDE 没有批量修改方法签名的功能,你就只能一个一个改;相比之下,把程序当成文本编辑,一个简单的「替换全部」就搞定了。 |
73 zhengxiaowai 2017-09-14 22:06:37 +08:00 我只有在 print 大发解决不了问题时候才会开 IDE 去 DEBUG |
74 bigzhu 2017-09-14 22:08:18 +08:00 vim 党的全面溃败! 全面失守. 以前类似讨论帖, 会有很多很多人安利 vim 的各种好. 不知是因为现在 IDE 确实太优秀, 还是社区的用户群变了. 估计 vim 党多是老程序员, 已经不怎么上 V2EX 了. 好吧, 天下终究是年青人的.. 身为老 vim 党, 我也就出来哀嚎一声..接着还是继续用 vim 代码. |
75 hellohello123 2017-09-14 22:10:52 +08:00 @bumz IDE 是文本编辑器的超级,你说的批量替换根本不是问题。 |
76 hellohello123 2017-09-14 22:11:09 +08:00 超集,手误 |
77 NoAnyLove 2017-09-14 22:16:36 +08:00 具体 IDE 具体讨论,比如 Eclipse 和 JetBrains 家的 IDE 的学习成本就不一样。不过基本上来说,IDE 学习成本比 Vim 低,容易记忆,功能强大而完善。 |
78 NoAnyLove 2017-09-14 22:29:25 +08:00 @symons 虽然我也经常用 Vim 写代码,不过如果代码量大,还是会首选 IDE。至少对于我来说,Vim 下 Python 开发还有如下问题: * 代码重构怎么办?即使是最简单的重命名函数名或者变量名都比较麻烦。jedi-vim 的 rename 功能很容易出错,剩下的方法还是要依靠搜索插件自己判断是不是要替换。PyDev 的代码重构要简单很多,还有 PyCharm 更是强大到变态(虽然我没用过,Orz ) * 调试怎么办?无论是 pdb、ipdb 还是 pdb++,凡是需要输入命令来调试的,都不如使用点击或者快捷键的调试流畅。pudb 的界面要更友好一点,但是不能跨平台使用,而且在滚动窗口的时候还是很痛苦。 |
79 inisun 2017-09-14 22:45:01 +08:00 vim 配置好后,其实也算半个 IDE 了吧。 |
80 PythonAnswer 2017-09-14 22:48:07 +08:00 ide 要是能和 vim 一样流畅一样秒开,我 tm 还会傻傻的用文本编辑器? java 写的 ide 太笨重了。 |
81 arakashic 2017-09-14 23:45:47 +08:00 IDE 学习成本高? IDE 已经很简单了好么,开箱即用不用怎么配置这一点已经比 vim 强很多了。 |
82 symons OP @NoAnyLove - 关于代码重构,我的做法一般是新开发一个函数,不会重命名已经存在的函数,然后更改调用的地方切换为新函数,最后 grep 下来确认代码中是否还存在对于老函数的调用。然后上线。 - python 调试的话,我这里用的较多的方式还是在关键的地方打 log 输出,在想停的地方构造个异常。。。 jedi-vim 的 rename 功能我还没用过,哈哈 |
84 xanthuiop 2017-09-15 01:17:41 +08:00 via Android 写项目用 ide,写脚本用 vim 这两者有冲突吗? |
86 GG668v26Fd55CP5W 2017-09-15 04:55:45 +08:00 via iPhone 尝试过几次将 vim 配置做 IDE,放弃了,别的不说,多行注释都很麻烦,不过 vim 打开大文件超级快,还是老老实实当文件编辑器用吧。 |
87 akiakiseofficial 2017-09-15 06:37:30 +08:00 via Android @falcon05 #86 多行注释是可以的。按 v,在行开头上下移动选中多行,大写 i,添加注释,Esc×2 |
89 rashawn 2017-09-15 07:54:17 +08:00 via iPhone vim emacs 劣势在于断点调试吧,更新不频繁的语言还好,那些更新比较快又只是局限于单个语言的,一个插件的作者根本没经历去维护 ide 的劣势就是存在很多你不需要的功能 占去了不必要的资源 单纯在编辑上,其实是一样的,不过个人觉得 ide 要用触摸板才能高效,离键盘近,用鼠标的话…… |
90 MushishiXian 2017-09-15 08:12:32 +08:00 我也曾经想把编辑器改成 ide 的样子,发现还是太困难了 |
91 henices 2017-09-15 08:46:39 +08:00 不管如何讨论, 依旧熟练地 vim xxxx , 开始写代码 |
92 rykka 2017-09-15 08:47:02 +08:00 vim 优势在 mode 纯键盘操作,不过大的 ide 都有 vim 扩展。 ide 优势在跳转和 debug,vim 虽然能弄但是麻烦,功能也差太多。 我选择 ide 装 vim 扩展 |
93 xingzhi1990 2017-09-15 09:00:00 +08:00 从不用 Vim 之类的,各种插件要自己装,多此一举。紧跟时代,一直都在用 PyCharm 写 Python, Android Studio 写 Android 程序,Visual Studio 2017 写 C++ |
94 vardarling 2017-09-15 09:00:40 +08:00 via iPhone vin 就像大姑娘,认真玩过你才知道他的好。 |
95 linux40 2017-09-15 09:08:04 +08:00 via Android 我用 Netbeans 写 JavaEE,直接从数据库导入实体类,不用自己手写。 |
96 metorm 2017-09-15 09:22:10 +08:00 via Android 在电脑配置足够、IDE 有 vim 键盘映射的前提下,从逻辑上讲,vim 唯一的好处就是服务器上也可以用了…… |
97 SingleX 2017-09-15 09:39:33 +08:00 ide 每天打开一次就不关了,vim 每天可以打开无数次。。。我说的是 intellij idea。。。 |
98 gnaggnoyil 2017-09-15 09:42:22 +08:00 @PythonAnswer 比较两个东西流畅不流畅首先至少要保证两个东西要跑的东西一样吧……比如宇宙牌 IDE 能对 C++做出非常友好的 intellisense,vim 要想做到这点只能上 Clang+YCM.但这俩玩意一上,vim 的速度可就比宇宙牌 IDE 快不了多少咯…… |
99 NoAnyLove 2017-09-15 09:55:45 +08:00 @PythonAnswer 以前遇到这种问题,一般都交给摩尔定律。其实以目前的状况,如果全盘 SSD 并且内存够大的话,开 JetBrains 家的 IDE 都比较流畅,更不用说 Eclipse 了。。。。。所以,真正的问题还是。。。。没钱!并不想回忆用 Android 编译一个小程序也需要几分钟,以及升级一次 Android 打 patch 就能让 IO 跑满导致系统卡死的惨痛经历,Orz,估计这才是我不想开发 Android 的主要原因吧。。。 @symons 感觉我在 IDE 中开发新函数也是这么做的。其实 Python 重构对 IDE 的功能需求不是很大,除了 rename 之外,其他的 Extract xxx 之类的功能从来没有用过 @xingzhi1990 我硬盘快爆掉了,Android Studio 和 VS 都超级占空间。问一下,VS2017 只装 C/C++和 SDK,要用多少空间? @gnaggnoyil 没有用过 intellisense,想问一下,intellisense 比一般的自动补完优秀在什么地方? YCM 的编译对 Windows 并不友好,需要下载 MSVC,有这功夫我还不如直接用 VS 呢。个人认为,一般情况下,自动补完其实只要能补全函数名、参数和代码片段就够用了。 |