自作のAtomパッケージでユーザー設定を有効にする

MacのKindleでテキストをコピーするために作ったAtomパッケージremove-whitespaceを更新した。

自分が使いそうなコマンドを追加した。

  • Remove Whitespace: Shrink
    • 2個以上のスペースを1個のスペースに縮める
  • Remove Whitespace: Replace
    • スペースを設定した文字列に置き換える

今回やってみたかったのはパッケージの設定。Remove Whitespace: Replaceでは置き換える文字列をユーザーが設定画面で設定できるようになっている。

詳細は公式ドキュメントの説明を参照。思ってたよりすごく簡単だったので書いておく。

設定を定義

コードのメインの部分で設定(config)を定義する。JSON(CoffeeScriptの場合はCSON)の形式で書く。

module.exports =
# Your config schema
config:
settingOne:
type: 'string'
default: 'defaultValue'
settingTwo:
type: 'integer'
default: 5
minimum: 1
maximum: 11

typeintegernumberのときはminimummaximumのkeyが使える。詳細は公式ドキュメントの説明に記載されている。

設定画面では、settingOnesettingTwoの部分が、それぞれSetting OneSetting Twoと表示される。別の名前で表示させたい場合は、titledescriptionのkeyで設定する。

config:
settingOne:
type: 'string'
default: 'defaultValue'
title: 'title'
description: 'description text'

設定値を使う

atom.config.getatom.config.setで値を取得、変更できる。

atom.config.get('my-package.settingOne') # -> 'defaultValue'
atom.config.set('my-package.settingOne', 'value')
atom.config.get('my-package.settingOne') # -> 'value'
スポンサーリンク

関連記事