プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

直前の英字文字列をIMEで再変換するAIUEO Eclipse Plugin作った

 いよぅ!IME圏でEclipseを使っているみんな!nodamushiからのナイスクリームなプラグインをプレゼントだ!

 ………すいませんでした。現在深夜………というか明朝の5時、妙なテンションになりました。気がついたら徹夜だよ。


 さて、前回の記事でAtokの入力済みのローマ字を再変換する機能について触れました。
 ポップアップも消せるようになりましたし、とてもいい機能なんですが、最悪の欠点が2つあります。

  1. 本当に直前に入力した文字しか変換できない
  2. 変換確定後IMEがONになっている

 最初のはまだしも、2番目がプログラミングをする上でこの上なくウザい。画面割りたくなる。

 プログラミングで日本語(笑 とか言ってる意識高い(笑 人は放っておいて、基本的には日本語って以下の状況で使うと思います。

  1. コメント
  2. JavaDocなどのドキュメント
  3. テストメソッド名

 コメント書いてるときはまだいいんですが、JavaDocを書いてるときは@paramとか{@link ****}とか出てきて英語と日本語のチャンポンなのでIME切り替えが面倒くさい。テストメソッド名も、その後必ず()を書くわけで、IMEの切り替えが面倒くさい。

 というわけで、そんな不満を解消するためにAIUEOという名前のプラグイン作りました。名前が酷い。

 もし、既に似たようなのが存在してたら泣く。
 

インストール

利用可のなのはWindowsだけです。

Eclipseの新規ソフトウェアのインストールで「https://nodamushi.github.io/AIUEO」からインストール。

手動インストールが良い人はReleases · nodamushi/AIUEO · GitHubからzipをダウンロードし、dropinに展開する。


使ってはダメな人

 英数字、日本語の入力切り替えをIMEのON/OFF(半角/全角キー)ではなく、無変換・変換キーで行う人はインストールしないでください。仕組み上、対応できません。

機能と仕組み

あいうえおkakikukeko|sasisuseso

 oとsの間の|はカーソル位置だと思ってください。

1. カーソル位置から前方(もしくは後方)に区切り文字を探し、書き換え範囲を見つける。(設定で区切り文字は変えられます)
  1. oを読み取る。(区切り文字ではない) 
  2. kを読み取る。(区切り文字ではない)
    ………
  3. おを読み取る。区切り文字なので、その一つ前のkまでを 書き換え範囲とする
2. kakikukekoを削除する
3. IMEをオンにする
4. kakikukekoをキーボード入力する
5. スペースを入力する
6. IMEの変換が終了するまでイベント待機
7. IMEの変換終了イベントを受け取ると、IMEをoffにする

 つまり、完全にアナログなやり方を模倣してるだけです。もっといいやり方あるんだろうけど、いんだよ、出来りゃ。

使い方

 キーバインドはデフォルトではCtrl+;に「ローマ字を再変換する(前方)」を割り当てています。


f:id:nodamushi:20170723052222p:plain

 上↑の画像のような状態でCtrl+;を押すと、下↓の様にIMEで変換できます。

f:id:nodamushi:20170723052322p:plain

 変換完了後はIMEがOFFになります。

f:id:nodamushi:20170723052616p:plain

 「そー言えばこれは変換に失敗します」と打ちたかったのですが、初期設定だと、「そー」が変換されません。

f:id:nodamushi:20170723052649p:plain

 これは、-が区切り文字と見なされているからです。-も変換したい場合はこれを消してください。

f:id:nodamushi:20170723052755p:plain

f:id:nodamushi:20170723052908p:plain

JISキー以外のキーボードの方

 何とか根性でJIS以外のキーボード設定を作って下さい。なんとなく読めば分かると思う。
 ただ、一応くっつけたけど、nodamushiは全くテストしてないので(オイ 動くかは知らない。