繁体   English   中英

你是否区分了文本编辑器和IDE?

[英]Do you draw a distinction between text editors and IDEs?

我已经看到几个问题的回答,要求提供文本编辑器的IDE,反之亦然。 这让我觉得人们把它们视为同一件事,在那里我画出明显的区别。

  1. 你如何定义“文本编辑器”和“IDE”?
  2. 你看到这两种工具有什么区别吗?

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

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

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

我这样做,但它更像你使用它们的方式而不是软件本身的差异。 某些软件被某些人用作IDE,但仅由其他人用作文本编辑器。 有些软件只能是文本编辑器,有些软件只能用作文本​​编辑器,有些软件可以很容易地用作文本编辑器。

我会说像Vi(m)和Emacs这样的忠实用户被一些人用作文本编辑器而一些用作IDE。 像eclipse,visual studio等这样的东西才真正有意义,因为IDE和记事本之类的东西几乎不是文本编辑器。

我会说,如果你留在你的文本编辑器中做其他事情 - 编译,调试等 - 那么你就像IDE一样使用它。 我在哪里画线,我不确定。

明显的区别是来自IDE的“我”。 IDE是一个集成平台,不仅可以编辑,还可以调试项目的文件管理,通常还有很酷的功能,如语法高亮和代码完成。 哦,是的,工具和编译器的集成,以及源代码控制。

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

这些(IMO)都是糖。 我也使用纯文本编辑器(虽然我现在非常欣赏代码语法着色)并自己滚动大部分其他内容。 一些较新的文本编辑器正在进入IDE领域(例如TextMate),因为它们具有足够的可扩展性以允许上述大多数段落的细节。

在90%的案例中,我使用的是我所使用的或大多数团队使用的(我是承包商)。 这可以减少您决定独立完成时可能出现的构建冲突。 通过学习使用IDE,文本编辑器以及介于两者之间的所有内容,您将保持灵活性并能够应对任何被抛出的内容。

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

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

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

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

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

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

例如:

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

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

注2:像textmate这样的许多文本编辑都有插件系统,可以扩展它们来构建你的项目。 这不会使它们成为IDE,因为它们只是对插件进行外壳攻击,它们对构建本身没有任何了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM