鍍金池/ 教程/ C++/ 配置API
調(diào)試
初始文件
作用域設(shè)置、作用域和作用域描述符
在A(yíng)tom中移動(dòng)
在A(yíng)tom背后
Atom中的包
為什么選擇Atom?
從Textmate中轉(zhuǎn)換
小結(jié)
新手入門(mén)
折疊
代碼段
Hacking Atom
基本的自定義
Atom中的序列化
文本處理包
字?jǐn)?shù)統(tǒng)計(jì)包
所需工具
維護(hù)你的包
Atom基礎(chǔ)
深入鍵表(keymap)
配置API
使用Atom
自動(dòng)補(bǔ)全
面板
在A(yíng)tom中寫(xiě)作
文本選擇
創(chuàng)建主題
圖標(biāo)
小結(jié)
開(kāi)發(fā)Node模塊
編輯和刪除文本
安裝Atom
通過(guò)服務(wù)和其它包交互
小結(jié)
編寫(xiě) spec
語(yǔ)法
Atom中的版本控制
查找和替換

配置API

讀取配置

如果你想要編寫(xiě)一個(gè)可配置的包,你需要通過(guò)atom.config來(lái)整體讀取配置,或者通過(guò)atom.config.get來(lái)讀取一個(gè)具有命名空間的配置鍵的當(dāng)前值。

# read a value with `config.get`
@showInvisibles() if atom.config.get "editor.showInvisibles"

或者通過(guò)atom.config.observe來(lái)跟蹤任何視圖對(duì)象產(chǎn)生的修改。

{View} = require 'space-pen'

class MyView extends View
  attached: ->
    @fontSizeObserveSubscription =
      atom.config.observe 'editor.fontSize', (newValue, {previous}) =>
        @adjustFontSize()

  detached: ->
    @fontSizeObserveSubscription.dispose()

atom.config.observe方法會(huì)使用特定鍵路徑的當(dāng)前值立即調(diào)用提供的回調(diào)函數(shù),并且以后當(dāng)這個(gè)值發(fā)生改變時(shí)也會(huì)調(diào)用。如果你只希望在下次這個(gè)值改變的時(shí)候調(diào)用回調(diào),使用atom.config.onDidChange來(lái)代替它。

訂閱(Subscription)方法會(huì)返回一個(gè)一次性的訂閱對(duì)象。注意上面的例子中,我們?nèi)绾螌⒂嗛啽4嬖?code>@fontSizeObserveSubscription實(shí)例變量中,以及視圖被分離的時(shí)候如何處理它。你可以添加多個(gè)訂閱到[CompositeDisposable](https://atom.io/docs/api/latest/CompositeDisposable)中來(lái)將它們組合到一起。當(dāng)視圖被分離的時(shí)候你可以把它處理掉。

寫(xiě)入配置

雖然atom.config的數(shù)據(jù)在啟動(dòng)時(shí)才從~/.atom/config.cson加載,但你可以通過(guò)atom.config.set用編程的方式對(duì)其寫(xiě)入。

# basic key update
atom.config.set("core.showInvisibles", true)

如果你通過(guò)特定鍵路徑來(lái)訪(fǎng)問(wèn)包的配置,你也可能像將它們和你包里面的主模塊的schema關(guān)聯(lián)起來(lái)。更多schema的細(xì)節(jié)請(qǐng)閱讀配置API文檔。