代码之家  ›  专栏  ›  技术社区  ›  Thomas Owens

您在文本编辑器和IDES之间做了区分吗?

  •  5
  • Thomas Owens  · 技术社区  · 16 年前

    我看到过一些问题的回答,询问IDES在哪里建议了文本编辑器,反之亦然。这让我觉得人们把他们当作同一件事来对待,在这里我可以清楚地区分。

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

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

    7 回复  |  直到 16 年前
        1
  •  2
  •   James Fassett    16 年前

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

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

    在90%的情况下,我使用我得到的或大多数团队使用的(我是承包商)。这减少了如果你决定自己去做的话可能出现的构建冲突。通过学习使用IDE、文本编辑器以及它们之间的一切,您将保持灵活性,并能够处理向您抛出的任何内容。

        2
  •  3
  •   Draemon    16 年前

    我知道,但你使用它们的方式比软件本身的区别更重要。有些软件被用作IDE,而另一些软件仅仅是文本编辑器。有些软件只能是文本编辑器,有些软件很难仅作为文本编辑器使用,有些软件可以同时作为文本编辑器和文本编辑器使用。

    我要说的是,像vi(m)和emacs这样的坚定分子被一些人用作文本编辑器,而另一些人用作ides。像Eclipse、Visual Studio等只在IDES和记事本之类的东西只有文本编辑器才有意义。

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

        3
  •  3
  •   Sherm Pendley    16 年前

    这种混淆源于这样一个事实:文本编辑器是每个IDE的核心组件。但是,一个IDE不仅仅是一个文本编辑器;它还具有与编译器、调试程序、概要文件、参考资料等的接口。

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

        4
  •  2
  •   stephenbayer    16 年前

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

        5
  •  1
  •   Levi Rosol    16 年前

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

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

    你知道,在我开始写这个答案之前,我在文本编辑器和IDE之间有一条清晰的线。但现在,我认为它们是一个整体。我的意思是,像vs这样的真正和ide只是一个光荣的文本编辑器。像textpad这样的文本编辑器是一个具有更小的功能开发预算的IDE。

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

        6
  •  0
  •   Tarski    16 年前

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

        7
  •  0
  •   Orion Edwards    16 年前

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

    例如:

    • 它能把你的代码编译成二进制吗?这是一个IDE
    • 它有集成的调试器吗?这是一个IDE
      • 为了有一个集成的调试器,它需要知道二进制编译程序,或者在脚本语言的情况下,在运行过程中对程序的内存解释。

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

    注2:许多文本编辑器(如textmate)都有插件系统,可以扩展插件系统来构建项目。这并不能使它们成为一个IDE,因为它们只不过是在炮击一个插件,它们对构建本身没有任何了解。