Atom のプラグイン開発時に気をつけること

# 概要

どうしても、解決のしかたがわからなかった。

```
Cannot import 'atom-linter'
```

# まとめ

dependenciesに何か書いたあと、それを読み込む必要がある。


`package.json` に書いた後に、

1. `CTRL+SHIFT+p` 
2. `u` `p` `d` `u`
3. enterキー

* [npm - Installing package dependencies in Atom - Stack Overflow](https://stackoverflow.com/questions/36810276/installing-package-dependencies-in-atom)

## リンク先をよく読んだら

```
atom -d .
apm install
```

でもよいようだ。
まだ試していない。

# 公開する

セマンティックバージョニングの、patchをあげるならば

```
git push
apm publish patch
```

# 開発者ツール、デベロッパーツールを起動する

## キーボードショートカット

`CTRL+SHIFT:i`

## メニューからたどるなら

1. View
2. Developer
3. Toggle Developer Tool

# 開発用のパッケージを置くディレクトリ

以下のコメントを参考にすると
[Load developing package](https://discuss.atom.io/t/load-developing-package/2554/3)

```
~/.atom/dev/packages/
```
におくようだ。

# 気をつけること

確実に開発版のパッケージがよまれていることを確認する

# 安定版をアンインストールしたら、開発版もきえることがある。

これは自分の運用の問題？

開発版が以下の場所にあって

```
~/github/あるパッケージ
```

これを、以下の場所にリンクしている

```
~/.atom/dev/packages/
```


# はじめて publish するとき

```
apm publish patch
```

とか

```
apm publish minor
```

などでリリースできる

このとき、以下のようなメッセージがでるときがある。
これは、`package.json` の `repository` の値が、存在しないとか、間違えて書いているときにもおこります。
なので、ここをチェックしてみましょう。

```
Registering autocomplete-cwl ✗
Registering package in atom/autocomplete-cwl repository failed: That repo does not exist, isn't an atom package, or you do not have access
```

これがでたら、 `git push` しておくとよいかもしれない。

```
git push
```

[atom-cwl-viewer](https://github.com/manabuishii/atom-cwl-viewer) のときのログ

```console
$ apm publish patch
Registering atom-cwl-viewer ✗
Registering package in manabuishii/atom-cwl-viewer repository failed: That repo does not exist, isn't an atom package, or you do not have access
$ apm publish
A version, tag, or new package name is required
$ git push
Counting objects: 14, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (14/14), 4.48 KiB | 4.48 MiB/s, done.
Total 14 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/manabuishii/atom-cwl-viewer
   3432280..679b993  master -> master
$ apm publish minor
Registering atom-cwl-viewer ✓
Preparing and tagging a new version ✓
Pushing v0.2.0 tag ✓
Publishing atom-cwl-viewer@v0.2.0 ✓
Congrats on publishing a new package!
Check it out at https://atom.io/packages/atom-cwl-viewer
```

## コメントアウトの設定を変えたいとき

`settings/language-cwl.cson`

```
'.source.cwl':
  'editor':
    'commentStart': '# '
```

- [language\-cwl/language\-cwl\.cson at master · manabuishii/language\-cwl](https://github.com/manabuishii/language-cwl/blob/master/settings/language-cwl.cson#L1-L3)

### その他の言語の場合

#### YAML

- [language\-yaml/language\-yaml\.cson at 784cecc64ffdb891f6a7fbba62e476b0c833e66f · atom/language\-yaml](https://github.com/atom/language-yaml/blob/784cecc64ffdb891f6a7fbba62e476b0c833e66f/settings/language-yaml.cson#L4)

#### perl

- [language\-perl/language\-perl\.cson at b76ed0694a7c81aa0a63cd394bc1fe3a233b3466 · atom/language\-perl](https://github.com/atom/language-perl/blob/b76ed0694a7c81aa0a63cd394bc1fe3a233b3466/settings/language-perl.cson#L6)

## 自分へのメモ

atomのページのなかで、パッケージを登録するページはない。

# 参考

* [package.json](https://github.com/blog/2231-building-your-first-atom-plugin)

* [atomのpackageの作り方 - from scratch](http://yosuke-furukawa.hatenablog.com/entry/2014/03/02/230456)

そとのデータをとりにいく。サンプル。coffeescript。autocomplete-html で使っている。他のスクリプトもあるので、このレポジトリで、`raw`とか`http`,`https`で検索してみると良い
* [autocomplete\-html/fetch\-global\-attribute\-docs\.coffee at d3fd316b4cce06207e9ef266e49aee55d8138be6 · atom/autocomplete\-html](https://github.com/atom/autocomplete-html/blob/d3fd316b4cce06207e9ef266e49aee55d8138be6/fetch-global-attribute-docs.coffee)