atomパッケージ開発メモ その3(設定画面を検出する)

前回の続き。前回、atomスクロールイベントの「onDidChangeScrollTop」に違和感を覚えつつ利用していたが、atomの設定画面を開くとエラーが出るという実害があった。エラーはeditorにonDidChangeScrollTopなんかないという単純なもの。どうやらコード用のviewと設定画面のviewに違いがあるらしい。少なくとも設定画面のviewにはonDidChangeScrollTopが存在しないようだ。

ということで設定画面のときは処理を飛ばしたい。設定画面を検出するにはどうすればいいんだ。よくわからないのでeditorの中身を乱暴に見てみる。

すると明らかに違いがある。

上がコーディング用の画面を選択したとき。下が設定画面を選択したとき。

要素の中をうじゃうじゃ見ると「editor.editorElement」にわかりやすく決定的な違いを見つける。コーディング用の画面の場合はここに全文が詰まっていて、設定画面では未定義だった。ということで以下のように変更。

82行目でコーディング用の画面かを判定している。これでエラーは出なくなった。設定画面の検出というよりは、エディター画面かどうかの検出となった。おそらく最初の目的よりもより求めている挙動になった気がする。しかし本当にこれでいいのか。

atomパッケージ開発で得た自分なりのコツや要領

  • 自分の実現したい機能が実装されていそうなパッケージを適当に探してソースを見る
  • 英語の情報は嫌わずガンガン見る(chromeのページ翻訳有能)
  • 公式ドキュメントも当然見まくる

coffeeScriptとjavaScript

javaScriptはかなり嫌いで出来れば触りたくないと避けていた。したがって文法からしてよくわかっていない。coffeeScriptは今回はじめて知った言語で、javaScriptよりは好きになれそうだった。ただクライアントサイドではjavaScriptの一人勝ちみたいな状況なので今回javaScriptで実装した。また、公式ドキュメントではcoffeeScript推しなのに対して、atomテンプレートが勝手にjavaScript版を展開したというのも引っかかった。(atomのフォルダにcoffeeScriptとjavaScriptの両方のテンプレートがある)

  • coffeeScriptとjavaScriptはどっちで開発すべきなのかはよくわからない
  • ネットの情報はcoffeeScriptがやや多め
  • 特に日本語情報はcoffeeScriptが大勢を占めている
  • javaScriptだとatomパッケージ開発の入門者としては最初のとっつきがちょっとつらい
  • 公式APIドキュメントもcoffeeScriptベースだがこれはそんなに困らない

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

数式を埋めてください *