6

我已经看到了一些关于 IDE 的问题的回复,其中建议使用文本编辑器,反之亦然。这让我认为人们将它们视为同一事物,我在其中做出了明确的区分。

  1. 你如何定义“文本编辑器”和“IDE”?
  2. 您看到这两种工具之间的区别了吗?

请注意,我接受了一个我认为最能解决“文本编辑器”和“IDE”概念的答案。但是,这只是我个人对最能解决这个问题的看法,我会不时继续检查这个问题,看看是否有更好的答案,我会接受那个答案。

4

7 回答 7

4

混淆源于文本编辑器是每个 IDE 的核心组件这一事实。但是,IDE 不仅仅是一个文本编辑器。它还具有编译器、调试器、分析器、参考资料等的接口。

许多文本编辑器都有插件或其他灵活的扩展机制,通常包括像我上面提到的那样“包装”外部工具的能力。恕我直言,关键区别在于 IDE 中的“I” - 集成。IDE(同样,恕我直言)是专门设计用于支持一组特定工具的东西,其中一个是文本编辑器。

于 2008-10-13T22:18:04.163 回答
3

我有,但更多的是你使用它们的方式,而不是软件本身的差异。某些软件被某些人用作 IDE,而其他人则仅用作文本编辑器。有的软件只能是文本编辑器,有的软件很难单独作为文本编辑器使用,有的软件两者兼有。

我会说像 Vi(m) 和 Emacs 这样的中坚分子被一些用作文本编辑器和一些用作 IDE。像 Eclipse、Visual Studio 等只有在 IDE 中才真正有意义,而像记事本这样的东西只能是文本编辑器。

我想说,如果你留在文本编辑器中做其他事情——编译、调试等——那么你使用它更像是一个 IDE。我不确定在哪里画线。

于 2008-10-13T22:21:15.717 回答
3

我两者都用,我建议你也用。有时 IDE 可以加快开发速度——例如代码完成和重构支持。快速查找项目中的文件和符号、函数、类,更不用说项目管理功能了。有时他们会为您管理构建。也许它有一个内置的调试器(一个好的内置调试器是值得的)。代码片段和文件模板怎么样。有时 IDE 会帮助您构建 GUI 界面和数据存储。我见过一些可以帮助您构建正则表达式和运行 SQL 查询的方法。

这些(IMO)都是糖。我还使用纯文本编辑器(尽管我现在非常喜欢代码语法着色)并自己滚动大部分其他内容。一些较新的文本编辑器正逐渐进入 IDE 领域(例如 TextMate),因为它们的可扩展性足以支持上述大部分段落的细节。

在 90% 的情况下,我使用给定的或大多数团队使用的(我是承包商)。如果您决定自己动手,这可以减少可能出现的构建冲突。通过学习使用 IDE、文本编辑器以及介于两者之间的一切,您将保持灵活性并能够应对任何向您抛出的问题。

于 2008-10-13T22:50:22.397 回答
2

明显的区别是 IDE 中的“I”。IDE 是一个集成平台,它不仅允许编辑,还允许调试、项目文件管理以及通常很酷的功能,如语法突出显示和代码完成。哦,是的,还有工具和编译器的集成,以及源代码控制。

于 2008-10-13T22:19:22.787 回答
1

对我来说,文本编辑器是用于编辑基于文本的文档的轻量级工具。除了为编辑器定义“系统”字体外,没有任何标记或文本格式。有用的工具仍然可以是文本编辑器的一部分,例如文件夹树、语法高亮,甚至是编译器的命令行执行。最后,它所做的一切都允许您编辑文档中的文本。它不会以不同的方式向您显示它。即:查看 XML 文档时它不会显示网格

IDE 更加健壮,并且通常特定于语言或框架。

你知道,在我开始写这个答案之前,我在文本编辑器和 IDE 之间有明确的界限。但现在,我认为他们是同一个。我的意思是真的,像 VS 这样的 IDE 只是一个美化的文本编辑器。像 Textpad 这样的文本编辑器是一种 IDE,用于开发功能的预算要少得多。

我想真正的答案是,一个 IDE 是由一家大公司或集团支持的,它在许多不同的方向上扩展它的功能。但是文本编辑器是由一小群人构建的,只有足够的功能才能使用。

于 2008-10-13T22:24:53.040 回答
0

如果您查看Kate、文本编辑器和Kdevelop,IDE 的主要区别在于 Kdevelop 支持项目管理(CVS/Subversion)和构建脚本,而 Kate 不支持。

于 2008-10-13T23:02:02.857 回答
0

就我个人而言,我认为 IDE 和文本编辑器之间的“界线”是对最终程序的了解,而不仅仅是对源代码的了解。

例如:

  • 它可以将您的代码编译成二进制文件吗?这是一个IDE
  • 它有集成调试器吗?这是一个IDE
    • 为了拥有一个集成的调试器,它需要了解二进制编译程序,或者在脚本语言的情况下,程序运行时的内存解释。

注意:像智能感知这样的东西不依赖于你的代码被编译成任何东西,所以我不会说智能感知意味着 IDE

注意 2:许多文本编辑器(如 textmate)都有插件系统,可以扩展以构建您的项目。这并不能使它们成为 IDE,因为它们只是简单地使用插件,它们对构建本身一无所知。

于 2008-10-13T23:42:43.073 回答