JSエディタ周りの修正

require周りの処理をいじってみました。

  • require() のファイルパス補完時にでディレクトリも補完
  • require の var 宛に飛べない
  • require(). で補完
  • 未定義の変数呼び出しで警告

最後の2つはなかなか難しい感じで細かい問題もあるかも。これ以外には

  • 複数varの飛び先の修正
  • コードテンプレートをJSDTに合わせた

あたりをいじり、細かいところを直してみた。ぼちぼち、ここいらで一度リリースした方が良いかもと思う、今日この頃。

requireまわりの修正

修正してみた.まず,補完ですが,たとえば,「require(‘」まで入力して補完すると,プロジェクトの指定したパスの一覧から.jsファイルたちが補完候補として出てきます.また,「require(‘./」とすれば,現在編集中のファイルからの相対パスで探しに行きます../なので同じディレクトリの中から.jsファイルたちを探します.そんな感じで,../lib/とかも可能かと思います.で,次に「require(‘hoge’)」でhogeのところでCtrl+クリックとかで宣言を開く(?)をすれば,そのjsファイルに飛んでいきます.

そんな感じで,修正しておきましたが,index.jsの省略指定は未実装ですがそのうちやろうかと.というわけで,どんどん使ってみてくださいー.

require関数が参照するパスの指定

今まで,requireで見に行く先をテキストフィールドで書いてください的な感じでしたが,これでは指定難しいのでは,ということで,Eclipseっぽく変更しました.たぶん,これで指定しやすくなったかと.あとは,バリデータのところで,うまくオプションが渡せてなかった….残念だ….というわけで,これも直しました.なので,指定したエラーレベルでアイコンが付くかと(開いたときか,保存したとき).あとは,アウトラインで選択してもその場所が表示されない感じものもあったので,修正してみました.そんな感じで,作業的には一段落かも.というわけで,バグとあればお知らせくださいませ.

スナップショットビルドのファイル名とか

スナップショットのビルド名にバージョン+日付時間みたいにしていたけど,日付時間のところで,なんと時が抜けていました….残念です.あと,zipのを展開すると,pluginsディレクトリがあって紛らわしいので,自動ビルドの過程で取り除くようにしてみました.ひとまず,それらは対応してみたものの,require で読み込み先のディレクトリはプロジェクトからの相対で指定した方が良いとのことなので,それは近いうちに対応したいと思います(現状はテキストフィールドに;区切りで絶対パス指定です…手を抜きました).

id:higayasuo さん,アドバイスいただきありがとうございましたー.

JSエディタの補完候補のカスタマイズ

補完に必要なJSファイルはプロジェクトのプロパティで指定することができますが、標準でも「コード補完」にあるようなものが組み込んであります。デフォルトではECMA ScriptとFirefoxがコード補完としてチェックされていますが、補完候補はすべてカスタマイズ可能です。つまり、ECMA Script のところの Object の定義とかも差し替えることができます。標準で組み込んであるJSファイルは以下にあります。(ECMAScriptのやつはECMAScript5thを見ながら地道に作りました…)

https://amateras.svn.sourceforge.net/svnroot/amateras/AmaterasIDE/trunk/tk.eclipse.plugin.htmleditor/js/

たとえば、Objectの定義をいじりたいような場合はecma/ecmascript-5.jsをベースに変更して、ライブラリとして登録して、コード補完のECMA Scriptのチェックをはずしてください。これでECMAScriptのバージョンが上がっても大丈夫!?