AtomのPackage開発についてまとめます。
テンプレートの生成
- Menu
- Packages
- Package Generator
- Generate Atom Package
five-move という Package を作成する場合、
以下の様なファイル群が生成されます。
$ tree . ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── keymaps │ └── five-move.json ├── lib │ ├── five-move-view.js │ └── five-move.js ├── menus │ └── five-move.json ├── package.json ├── spec │ ├── five-move-spec.js │ └── five-move-view-spec.js └── styles └── five-move.less
各ファイルについて
Package: Word Count - Atom Flight Manual
package.json
package のメタデータを記述するファイル。
package 名や最初に読み込むファイルなど。
以下は自動生成した直後の内容です。
{ "name": "five-move", "main": "./lib/five-move", "version": "0.0.0", "description": "move (and select) 5 lines.", "keywords": [ ], "activationCommands": { "atom-workspace": "five-move:toggle" }, "repository": "https://github.com/atom/five-move", "license": "MIT", "engines": { "atom": ">=1.0.0 <2.0.0" }, "dependencies": { } }
ソースコード
lib
配下がソースコードです。
PackageのトップレベルのモジュールはSingletonであり、Packageのライフサイクルを管理します。
CSS
styles/XXXX.less
にStyleを指定できます。
Keymaps
keymaps/XXXX.json
にショートカットキーを定義できます。
Menu
menus/XXXX.json
にメニュー(メニューバー、コンテキストメニュー)を定義できます。
デバッグ
console.log で出力を行い開発ツールで出力を確認できます。
テスト
Atom の Package テンプレートは Jasmine のテストテンプレートを
生成してくれます。
ctrl+alt+cmd+p
でテストを実行できます。
リロード
開発中のコードを即リロードして動作確認したい場合は、
ctrl+alt+cmd+l
で window:reload を行います。