Skip to content

开发工具VSCode调研

coconilu edited this page Oct 30, 2018 · 2 revisions

开发工具IDE对于一个开发者来说太重要了。

我想要研究的是VSCode,它是目前我正在使用的工具,很轻量、插件也很丰富。

研究的课题:

  1. 它是不是基于浏览器的IDE? 如果是的话,应该跟Chrome开发者工具有些联系。

  2. 它的插件制作方式是怎么样的? 我要学习这个,会让我更加了解VSCode,也让我更了解别人开发的插件。

调研结果:

  1. 它是基于NodeJS的Electron框架做出来的IDE

  2. 官方文档里有介绍如何制作插件

插件包括下面三种:

  1. Extensions - the base building block
  2. Language Servers - extensions that enhance editing experiences through Language Server Protocol
  3. Debuggers - wire up an external debugger through a Debug Adapter

Extensions 的功能:

  1. Activation - load an extension when a specific file type is detected, when a specific file exists, or when a command is selected via the Command Palette or a key combination
  2. Editor - work with the editor's content - read and manipulate text, leverage selection(s)
  3. Workspace - access open editors, the status bar, information messages and more
  4. Eventing - connect to the editor life-cycle events such as: open, close, change, and more
  5. Evolved editing - create providers for rich language support including IntelliSense, Peek, Hover, Diagnostics and much, much more
Clone this wiki locally