ゆっくりのんびり。

いの (@inox_ee) です

【JavaScript】JS自動補完パッケージ:atom-ternjsの設定

atom-ternjsによるJavaScript補完機能を構築するには…


Ternとは

Github上で公開されているTern.js(またはこちら)はJavaScript用のコード解析エンジンのひとつ。atomでも「atom-ternjs」という名でパッケージが公開されており、ユーザ数は50万人近くにものぼる

環境

Windows × atom

ことの発端

  1. atom-ternjsをインストール。
  2. しかし補完してくれない(例:"docu..."と入力しても、doしか出てこない)。しかもインスタンスの補完もイマイチ
  3. 色々ググってみた結果…

どうやらconfigureしなければいけないっぽい?!

ググってみると以下のサイトどちらも ".tern-project" というJSONファイルを作っている(正確にはJSONではないらしい…?)

https://qiita.com/s-shin/items/33bdfc5b819dab320808 http://blog.aqutras.com/entry/2016/04/28/210000

しかしJSONという気味の悪い拡張子の知識がなくて読めない&書けない

なかなか解決策が思いつかない。補完機能が使えないまま書くしかないのか…と思った矢先

YouTubeにあったatom-ternjsのインストール動画をたまたま発見。
メニューバー→パッケージ→Atom-Ternjs→Config projectの手順でConfigureの書き方を紹介。

bowserとjqueryにチェックしてからサーバの再起動を掛けると…
プロジェクトフォルダ内に .tern-project ファイルが!!!

{
  "ecmaVersion": 6,
  "libs": [
    "browser",
    "jquery"
  ],
  "loadEagerly": [],
  "dontLoad": [
    "node_modules/**"
  ],
  "plugins": {
    "doc_comment": true
  }
}

無事補完機能が動いた!

ひとまず動くようにはなったけど

課題

  • 毎回configしなくちゃいけないの?
  • package.jsonがあるフォルダに.tern-projectファイルを作っても機能せず。
  • .tern-project のほかに .tern-configファイル が必要?!

などなど

追記

atom-ternjsの公式サポートを読んでみると普通に書いてたっぽい。(英語
おそらくThurd party pluginsに書かれているファイルを atom-ternjs直下に入れれば毎度configしなくてよさそう...(?)