IDE的哪些功能将使其比通用编辑器更有用


10

我正在为Lua语言编写IDE。我发现许多程序员不喜欢使用IDE,而更喜欢VIM(目前正在流行),SCiTE或。

为了赢得大家的关注,我对IDE可以提供的功能感兴趣,这将使它成为通用编辑器的替代品。

是否有一个“杀手级应用”,可以说使它成为“必备”的IDE?

这可以被认为是

VIM最有用的功能,这些功能在IDE中不是标准的

除非有人询问,否则我不会链接到我的IDE,但是您几乎可以用Google我的名字找到它。

编辑:我的IDE实际上是现有IDE的语言插件,所以我确实从主机IDE继承了许多功能-尽管某种程度上我的语言支持本身就是一个IDE,但至少在语言特定方面关心。

Answers:


19
  1. 重构工具(重命名会影响依赖项/提取方法/提取接口等)
  2. Intellisense(或任何其他代码完成功能)
  3. 错误检查(IDE实际上知道其符号)
  4. 无需设置麻烦
  5. 集成编译器
  6. 集成调试器
  7. 更好地浏览参考文献/声明
  8. 项目模板/文件模板
  9. GUI构建器
  10. 可以自动生成样板代码
  11. 它很直观,可以在不知道所有魔术键的情况下使用(嘿,这就是GUI最初获得成功的原因)

总体而言,正如@Thomas Owens所说,IDE的最大优点是工具集成及其整体协同效应,同时仍然直观且易于使用。


3
总的来说,我要说的是工具整体集成-与版本控制,持续集成服务器,错误跟踪器,编译器,调试器,事件探查器,静态分析等的集成。我会说编译器和调试器集成在一起很重要,但是将所有内容都放在一个很好的,整洁的小程序包中会很有帮助。
Thomas Owens

@Thomas Owens:是的,但是我没有列出源代码控制,因为您可以轻松地将源代码控制集成到vim中,所以这没什么大不了的,毕竟这只是一个命令行调用,例如,我更喜欢Tortoise比AnkhSVN。我会列出分析器,但并非所有IDE都附带一个(例如,VS都没有现成的afaik)。指标很不错,但同样,只有最新的VS才能提供此功能。
猎鹰

在Eclipse和NetBeans中,我提到的很多内容都是基于插件的,尽管也有许多具有不同功能的vim和emacs插件(或模块或扩展)。我认为这对所有工具都很有用-轻松选择您想要提高生产力的东西。
Thomas Owens

我想我大部分都在某种程度上。另外,代码格式化。甚至支持自定义API和库的集成帮助。您的列表非常全面。也许最终归结为个人喜好,而我无能为力。(我的IDE是IntelliJ插件-也许对某些人来说太过分了)
sylvanaar 2011年

2
我要澄清一下,诸如“重构/重命名”之类的东西是多文件的(在整个项目范围内)-当我重命名方法或变量时,PyCharm(例如)将在项目中的每个文件上应用重命名,而不仅仅是当前编辑的文件就像编辑会做的那样。否则,我当然同意这个清单。我最近购买并开始使用PyCharm,了解得越多,我就越喜欢它(尽管偶尔出现故障:)
Cyclops

8

IDE和常规文本编辑器之间的最大区别是IDE可以理解您使用的编程语言,并且可以自动完成功能/方法,检查是否有错误,如类型错误和语法错误。IDE还集成了诸如编译器之类的工具,因此您可以使用IDE中的命令来编译和运行程序。

但是我认为VIM可以做的比普通的文本编辑器还多,也许您可​​以在某些情况下将其视为IDE。


2
+1代表“了解语言”。我认为,大多数其他一切都源自此。
迪恩·哈丁

是的-我的语言支持实现在语法和语义上都知道。
sylvanaar 2011年

4

重构工具

我没有使用我最喜欢的通用文本编辑器进行编码的唯一原因。因为如果您需要以自己喜欢的通用方式宏化通用代码重构,那么您最好使用安装了这些工具的IDE。

至少可以说,大多数IDE都具有emacs所具有的有用功能,它只是埋在某些任意按键组合中。


2

很高兴拥有文本编辑器中找不到的IDE的功能:1. Intellisense(自动完成和建议)

  1. 与编译器集成

  2. 与调试系统集成

  3. 与版本控制集成

  4. 与数据库系统集成

  5. 即时语法检查和帮助

  6. 语法着色

  7. 处理项目不仅是代码文件

  8. 查找在何处使用方法并绘制图表(迄今为止在大多数IDE中都找不到)

  9. 注册组件(取决于您的语言)

  10. 与GUI编辑器集成

  11. 书签代码段

  12. 源安全性和开发人员之间的共享

  13. 将项目还原到以前的版本

  14. 多个项目配置(测试,开发,生产)

  15. 可以配置IDE功能

  16. 智能源代码比较

  17. 自动重命名变量,方法等

我认为创建新的IDE没有用。


我应该提到它是现有IDE的插件。我将编辑我的问题。
sylvanaar

2

我很想拥有一个具有完全可定制的编辑器(例如Emacs)的IDE。我不想编写插件,然后重新启动IDE对其进行测试。我想用脚本语言(例如python,ruby)定义动作,并能够立即使用它们,将它们绑定到键序列等。该语言应该能够操纵整个工作区。


1

3件事总是决定我是否要使用特定的IDE:

  • 自动完成
  • 可视化GUI构建器
  • 用于某种集成ORM的数据工具

我通常会使用具有这些功能中的大多数功能,或者功能最出色的IDE。通过减少样板代码(GUI和DAL)并减少思考时间,这三件事往往会最大程度地提高生产效率(自动完成功能使我可以省去很多API苦恼)。


我认为重构工具的排名要比GUI构建器高得多。不是所有的程序都有图形用户界面,但他们将在某个时候重构的主题。
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner-我猜每个人都有。我很少使用重构工具。我对他们真的没有什么反对;我只是经常喜欢手工重构以确保我不会破坏任何东西。
Morgan Herlocker 2011年

我也曾经这样做,我想我一开始对这样的工具不信任。的确,如果实施不当,通常最好手动进行重构,但是如果正确使用了这些工具,那就太神奇了
FrustratedWithFormsDesigner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.