ふとした気付きプラグイン

ATOM を使うだけでなくプラグインを作ってみようという記事です。


プラグインの作り方を学ぶ為に、実際に何かを作ってみたら理解が深まるんのではないかなということで、ふとした気付きを ATOM を開くたびにふとした気づきを与えてくれそうなプラグインを作成してみます。

作成といっても、既存のプラグインをカスタマイズという簡単な感じです。まずは何かを動く成果物を作ってみるとっかかりによさそうです。

制作・検証環境は Mac Yosemite になります。ATOM の機能なので基本的には Windows でも問題ないかなと思います。


今回カスタマイズするプラグインは ATOM でお馴染み(？)のタブがないときに表示されるこれです。

![68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f36393136392f313739363236372f63336465303338632d366136302d313165332d386266382d3336663435363834393032632e706e67.png](https://qiita-image-store.s3.amazonaws.com/0/26206/b76c8c53-01c0-4032-4bfa-6c3909818678.png)
画像は、Github から拝借しました。
https://github.com/atom/background-tips


# まずは上記リポジトリを clone

```
git clone https://github.com/atom/background-tips
```

# プラグイン名を書き換える

被っているとちょっと問題が発生するので、少し書き換えます。
package.json を以下のようにします。(もちろんなんでも可です)

```
{
  "name": "background-tips-customized",
  "main": "./lib/background-tips",
  "version": "0.26.0",
  "private": true,
  "description": "Displays tips about Atom in the background when there are no editors open.",
  "repository": "https://github.com/atom/background-tips",
  "license": "MIT",
  "engines": {
    "atom": ">0.42.0"
  },
  "dependencies": {
    "underscore-plus": "1.x"
  },
  "devDependencies": {
    "coffeelint": "^1.9.7"
  }
}

```

name キーの末尾に -customized を追加しました。


# プラグインの tips の内容を書き換える

プラグインの構造的な話はせずにひとまず表示される tips を気づきを与えてくれそうな文へ変更します。
今回は 英語 を覚える的なことにします。

lib/tips.coffee

の配列を

```
module.exports = [
  'Close panels like find and replace with {body>core:cancel}'
  'Everything Atom can do is in the Command Palette. See it by using {command-palette:toggle}'
  'You can quickly open files with the Fuzzy Finder. Try it by using {fuzzy-finder:toggle-file-finder}'
  'You can toggle the Tree View with {tree-view:toggle}'
  'You can focus the Tree View with {tree-view:toggle-focus}'
  'You can split a pane with {pane:split-right}'
  'You can jump to a method in the editor using {symbols-view:toggle-file-symbols}'
  'You can install packages and themes from the Settings View {settings-view:open}'
]

```

削除して書き換える。

```
module.exports = [
  'absurd : 不合理な, ばかげた'
  'devise (-z) : 工夫する, 考案する'
  'time will tell: 時間が解決するよ'
  'IMHO : In my humble opinion'
]
```


## モジュールのインストール

最後に、clone したデータは、必要なモジュールが入っていないので、プラグインを動作させるためにインストールします。

background-tips ディレクトリを ATOM で開いて Cmd + Shift + P でコマンドパレットを開いて Update Package と入力すると Update Package Dependencies: Update が表示されるのでそれを実行します。

![Screen Shot 2015-12-18 at 10.30.46.png](https://qiita-image-store.s3.amazonaws.com/0/26206/c5ed6263-20f1-cb7d-f16e-8453c673cfc8.png)

パッケージのディレクトリへ node_modules が作られると完了です。

![Screen_Shot_2015-12-18_at_10_28_44.png](https://qiita-image-store.s3.amazonaws.com/0/26206/e32aa0eb-5462-0a9e-ab43-47b968c36a36.png)


……これで、プラグインは完成しました。ちょこっとしたカスタマイズなので簡単ですね。。


# ATOM へ読み込ませる
最後に ATOM へプラグインを読みこませる。

## 既存のプラグインを無効化

今回はデフォルトの既存プラグインを改変したので、既存を無効化します。

ATOM 上で cmd + , を押して設定画面を開き、Packages -> 検索に background-tips と入力

![Screen Shot 2015-12-18 at 10.05.26.png](https://qiita-image-store.s3.amazonaws.com/0/26206/5386de0d-1074-d905-55ac-4ed206f0c55f.png)

Disable を押して無効化

## ATOM の起動時にロードさせる

具体的な方法は、~/.atom/packages へリンクを貼れば自動で読み込まれるようになります。
ATOM にはこれを自動で行ってくれる apm というコマンドがあるので、こちらを利用します。

background-tips ディレクトリ内で以下のコマンドを打ちます。

```
apm link
```

## 追加したプラグインを有効化

View -> Reload
を押してリロードさせるか再起動させます。

そして、開かれた空タブを Cmd + w で削除します。
すると、デフォルトの操作方法の代わりに、設定した、内容が表示されます！！

![Screen Shot 2015-12-18 at 10.37.49.png](https://qiita-image-store.s3.amazonaws.com/0/26206/d16f66b6-046a-ebd0-9942-13f0cee5851a.png)

これで、そこまで重要じゃないけどたまにリマインドしたい内容とかをいれておくと ATOM 使いには便利になるかもしれません。