💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
<!-- 译者:Github@wizardforcel --> 现在是时候来介绍在这一Hackable的编辑器中,真正“Hackable”的部分了。像我们在整个第二章中看到的那样,Atom中很大一部分都由一大堆包组成。如果你想向Atom中添加一些功能,你必须要访问和Atom核心特性相同的API和工具。从树视图、命令面板到查找替换功能,甚至Atom的绝大多数核心特性都是以包的形式实现的。 # 所需工具 # 最开始,我们假设在某种程度上,你只知道很少的事情。由于Atom完全采用web技术实现,我们必须假设你知道CoffeeScript和Less的任何事情,它们是Javascript和CSS的预处理器。 如果你不了解CoffeeScript,但是熟悉JavaScript,就应该没有太大问题。下面是一个CoffeeScript的简单示例: ``` MyPackageView = require './my-package-view' module.exports = myPackageView: null activate: (state) -> @myPackageView = new MyPackageView(state.myPackageViewState) deactivate: -> @myPackageView.destroy() serialize: -> myPackageViewState: @myPackageView.serialize() ``` 我们会展示一些这样的例子,而这就是这门语言的样子。 在Atom中,你能用CoffeeScript做的任何事情都可以用JavaScript来做,但是由于大多数社区都用CoffeeScript,你可能会想用它来编写你的包。这会有助于你从开源社区中获取代码,并且在许多实例中编写更简单的代码。 你可以在coffeescript.org上面复习CoffeeScript。 Less是源于CSS的简化转换,它向CSS中添加了一些有用的东西,比如变量和函数。你可以在lesscss.org上面复习Less的技巧。但是我们对Less的使用并不涉及到这本书中太复杂的部分,所以你只要懂得CSS的基本知识就够了。