为什么VSCode是代码编辑器而不是IDE?

VS Code 已经具有任何 IDE 功能:语法突出显示、代码自动完成、代码重构、代码折叠、调试、测试、构建系统集成、编译器/解释器集成、git 集成、项目管理、分析、实时共享等等!

那么,为什么它经常被归类为代码编辑器而不是 IDE 呢?
根据定义:

  • IDE 必须能够立即编译和调试应用程序。
  • “IDE”中的“I”代表“集成”。
  • Visual Studio Code在没有插件下不是集成的,不能立即编译和调试

可定制与开箱即用
VS Code 是非常可定制的。问题是,你必须定制它才能使用它; VSC 开箱即用就是一个 notepad++++,正是插件扩展赋予了它强大的功能。

完整的 IDE(如 IntelliJ、PHPStorm、Visual Studio)是一种完全不同的体验。因为 IDE 集成了很多/几乎所有功能,并且语言支持大多是提前知道的,所以它可以对代码的外观做出假设。这会影响诸如暴露的设置菜单的内容、调试器的工作方式(在我看来 IntelliJ 特别棒)、它如何处理文件大小和长度等。

普适性与针对性
IDE 通常只针对几种特定的编译语言:有很多 Java IDE,我们有用于 C#、VB 和 F# 的 VisualStudio。

在古代,我们在简单的文本编辑器或 IDE 之间进行选择。但自从像 vsCode 这样的高级编辑器兴起以来,这种区别已经变得有点无关紧要了。在安装 Visual Studio 的过程中,也许您可​​以选择所需的插件(您可以对 vsCode 执行相同的操作),然后选择安装所有允许您编译和调试 C# 的 C# 工具。区别最多就是 Visual Studio 的工具稍微“内置”一些并且更好一些。

对于某些不能在编辑器中编译或调试的语言,从来没有任何 IDE。例如,根据定义,客户端 Javascript 没有 IDE - 因为它没有被编译。并且没有浏览器就不会执行。

名可名非常名
制造新名词,让人们陷入词语陷阱:
Visual Studio Code 是一个 IDE。它只是采用模块化设计,但它几乎可以完成 JetBrains IDE 能做的所有事情。

当人们说 VSCode 不是 IDE 时,他们的意思是它在默认的新安装状态下不是 IDE。我认为到那时它甚至无法识别个别语言。些 IDE 实际上是 VSCode内置了一些扩展。

即使是 Jetbrains IDE 也是一个基本编辑器,内置了某些特定于语言的功能。您可以向一个 Jetbrains IDE 添加扩展以将其转换为另一个,就像您可以向 CLion 添加 rust 扩展以将其 C IDE 转换为 Rust IDE,这在功能上与使用其专用 RustRover IDE 基本相同。

你可以自己让 VSCode 成为一个 IDE。当你插入必要的部分后,它绝对是一个 IDE。它也可能是一个功能极其丰富的产品,就像整个 Flutter 设置非常令人印象深刻一样。