W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
現(xiàn)在是時(shí)候來(lái)介紹在這一Hackable的編輯器中,真正“Hackable”的部分了。像我們?cè)谡麄€(gè)第二章中看到的那樣,Atom中很大一部分都由一大堆包組成。如果你想向Atom中添加一些功能,你必須要訪(fǎng)問(wèn)和Atom核心特性相同的API和工具。從樹(shù)視圖、命令面板到查找替換功能,甚至Atom的絕大多數(shù)核心特性都是以包的形式實(shí)現(xiàn)的。
最開(kāi)始,我們假設(shè)在某種程度上,你只知道很少的事情。由于A(yíng)tom完全采用web技術(shù)實(shí)現(xiàn),我們必須假設(shè)你知道CoffeeScript和Less的任何事情,它們是Javascript和CSS的預(yù)處理器。
如果你不了解CoffeeScript,但是熟悉JavaScript,就應(yīng)該沒(méi)有太大問(wèn)題。下面是一個(gè)CoffeeScript的簡(jiǎn)單示例:
MyPackageView = require './my-package-view'
module.exports =
myPackageView: null
activate: (state) ->
@myPackageView = new MyPackageView(state.myPackageViewState)
deactivate: ->
@myPackageView.destroy()
serialize: ->
myPackageViewState: @myPackageView.serialize()
我們會(huì)展示一些這樣的例子,而這就是這門(mén)語(yǔ)言的樣子。
在A(yíng)tom中,你能用CoffeeScript做的任何事情都可以用JavaScript來(lái)做,但是由于大多數(shù)社區(qū)都用CoffeeScript,你可能會(huì)想用它來(lái)編寫(xiě)你的包。這會(huì)有助于你從開(kāi)源社區(qū)中獲取代碼,并且在許多實(shí)例中編寫(xiě)更簡(jiǎn)單的代碼。
你可以在coffeescript.org上面復(fù)習(xí)CoffeeScript。
Less是源于CSS的簡(jiǎn)化轉(zhuǎn)換,它向CSS中添加了一些有用的東西,比如變量和函數(shù)。你可以在lesscss.org上面復(fù)習(xí)Less的技巧。但是我們對(duì)Less的使用并不涉及到這本書(shū)中太復(fù)雜的部分,所以你只要懂得CSS的基本知識(shí)就夠了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: