Skip to content

Latest commit

 

History

History
62 lines (34 loc) · 5.58 KB

02-Online.Code.IDE.Introduction.md

File metadata and controls

62 lines (34 loc) · 5.58 KB

在线代码编辑器

在线代码编辑器或是在线IDE是个很有意思的产品,这种在线的代码编辑器可能并不适合正式的项目开发,但是其还有一定的优势的,这些优势如下:

  1. 轻量级的在线代码编辑器,不需要本机环境,只要有网络和浏览器,就可以任意位置用任意设备进行编程。
  2. 方便代码分享,尤其对于一些用于文章内的代码示例。
  3. 方便于初学者或是想尝试一段试验型的代码的场景。
  4. 方便教学,面试,结对编程,练习……
  5. 方便快速地检查代码,或是进行一些比较小的代码修改。
  6. 对于一些比较流行的Serverless的应用,这种在线的代码编辑器就很有用处了。

所以,这种在线代码IDE不需要运行环境,打开就用,还是有很多用处的。这也是为什么全世界有很多在线代码编辑器。

这篇文章,将会介绍几个不错的在线编辑器。

前端代码编辑器

StackBlitz

StackBlitz 是一个在线的前端代码项目IDE,可以创建Angular,React,Ionic,TypeScript相关的项目,支持在线代码编写和自动处理安装依赖关系、编译、效果的实时预览,不需要命令行的配置,StackBlitz 还支持通过 npm 安装依赖包,并且当你复制粘贴代码进去时,能自动检测缺少的依赖并提示你安装。另外,每一个 StackBlitz 项目都有专属的 URL,因此你能像本地项目一样,新开一个窗口来预览和调试,而且还是热更新的。

另外,我们可以看到 StackBlitz 的界面风格和 VS Code 非常相似,除了界面与 VS Code 非常相似,快捷键也几乎一模一样,如果你平时就习惯使用 VS Code,那完全可以无缝切换。

是的,这得益于VS Code的源代码以MIT协议开源。这使得大家能够免费获得VS Code的核心代码,开发自己的产品。VS Code自带了TypeScript和Node.js的支持,同时,VS Code为编程语言工作者提供了统一的API,即Language Server Protocol 和 Code Debugging Protocol。这使得,只要你实现两个API,就可以获得类似IDE的开发和调试体验。

此外,StackBlitz 还支持比如分享、下载等等功能,也可以像 CodePenJsfiddleJsbin 一样可以把代码share出去。

CodeSandbox

CodeSandbox 是一个在线的前端代码项目IDE,支持 React.js,Vue.js,Angular.js,Preact.js,Vanilla,Svelte,Dojo…… 前端框架,和前面的StackBlitz一样,也是直接写直接预览结果,不需要使用什么如npm install的命令行,就可以直接把项目跑起来了,还可以在线的从你的Github把代码同步过来,以及把修改的代码再同步回去。在打开编辑器的时候,还有一个实时显示的预览窗,只要你的代码做了修改,结果就会立马显示在预览窗里了,这种反馈让人很爽。另外,还可以如大多数在线IDE一样,可以做结构编程(多人同时修改)。当然,它也能像 CodePenJsfiddleJsbin 一样可以把代码share出去,成为一个playgrand。

不过,这个前端的在线编辑最强大的还不是这些,去年十月,CodeSandbox 跟StackBlitz一样,把自己的在线编辑集成了VSCode,这使得CodeSandbox和VS Code一样的界面和操作方式。 CodeSandbox 中使用 VSCode 的键绑定、代码模板、命令、多视图编辑等诸多功能,并可以让用户导入其VS Code中的设,并还支持好些VS Code的扩展,这使用得CodeSandbox一下子比StackBlitz强大了好多。

这两天(2019年3月),其发布了 V3 版本,这是 CodeSandbox 诞生以来最大的更新。其中包括可以直接使用 VSCode 扩展,比如:

  • VSCodeVim 扩展,直接在设置中就可以打开。
  • Vetur扩展,对 Vue 的支持与 VSCode 中是一样的,也包括了对新添加的模板的补全。

随着更多VSCode的扩展的支持,未来可以直接随意安装VSCode的扩展,这样一样,就和VSCode没什么两样了。

除此之外,在最新的发布公告中,我们可以看到CodeSandbox还整了好多有趣强大的功能,这些都受益于VSCode的插件。比如:

  • 原生的 TypeScript 类型检测。在 CodeSandbox 中使用 TypeScript 扩展已经和本地 VSCode 中使用有一样的效果了。可以通过 tsconfig.json 来配置,可以运行最新版本的 TypeScript。

  • 自动导入。可以从你自己的文件或者依赖中导入变量 —— 当你使用了相关的外部变量时,会自动帮你添加相关的 import 语句。

  • 重构。可以使用 VSCode 中一样的代码重构功能。 比如,把 promise 版重构成 async 版,或是把一个函数移到另外一个文件中。

另外也有一起其他的支持的改进,比如支持 graphql,styled-components 和 yarn.lock 的语法高亮等,现在也支持 UI 的配置和图片的预览。

(未完)