プロジェクト

全般

プロフィール

機能 #51

完了

More Emacs for NetBeansを試す

高橋 徹 さんが8年以上前に追加. 8年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
カテゴリ:
-
対象バージョン:
-
開始日:
2015/12/12
期日:
2015/12/18
進捗率:

100%

予定工数:

説明

Java読書会BOFの友人作成のNetBeans用Emacsバインドのプラグイン More Emacsを試す。


ファイル

option_profile-1.png (69.4 KB) option_profile-1.png キーマップのプロファイル一覧 高橋 徹, 2015/12/12 20:40
C-spaceC-w_oneline.gif (42.9 KB) C-spaceC-w_oneline.gif 高橋 徹, 2015/12/12 20:56
C-spaceC-w_multiline.gif (34.7 KB) C-spaceC-w_multiline.gif 高橋 徹, 2015/12/12 20:56
plugin_installed_list-1.png (88.8 KB) plugin_installed_list-1.png 高橋 徹, 2015/12/13 11:14

高橋 徹 さんが8年以上前に更新

More Emacs for NetBeans は、次の2つのモジュールファイルから構成されています。
io-github-yas99en-moreemacsnb-core.nbm
io-github-yas99en-moreemacsnb-icu.nbm

ダウンロードにちょっと時間がかかったので中を覗くと、ICU4Jライブラリが含まれており、これが8MBとサイズが大きいのですね。

続いて、NetBeans IDE 8.1 for Windows に組み込んでみます。検証環境-1は次です。
PC: 自作PC-M4A87TDEVO
OS: Windows 7 64bit版
Java: Oracle JDK 8u66 64bit版
NetBeans IDE 8.1 Java SE版
Dark Look And Feel Themesプラグインを入れて、ルックアンドフィールをDark Nimbusに設定
→ 標準設定のプラグインサイトにあるので[使用可能なプラグイン]にリストされています
→ インストール後、[ツール]メニュー > [オプション] > [外観] > [ルック・アンド・フィール] で優先ルック・アンド・フィール欄で指定

まずはインストールから

  • [ツール]メニュー > [プラグイン]で「プラグイン」画面を表示
  • [ダウンロード済]タブ > [プラグインの追加]ボタンをクリックし「プラグインの追加」画面を表示
  • [ファイルの場所]ドロップダウンリストから、上述の2つのモジュールファイルを選択し[開く]ボタンをクリック... 指示に従いプラグインをインストールします。

続いて、キーバインドの設定

  • [ツール]メニュー > [オプション]で「オプション」画面を開き、[キーマップ]ボタンをクリック
  • [プロファイル]ドロップダウンリストから[MoreEmacs]を選択し、[OK]をクリック

option_profile-1.png

インストールと設定が完了したので、実際に編集画面をMoreEmacsキーバインドで操作してみます。

98行のJavaソースファイルを開いていろいろ操作してみます。
source:github_analogclock|AnalogClockSvg/src/analogclocksvg/AnalogClockSvg.java@c3c40510

C-nとC-pの操作

  • C-n 先頭行の行頭から、最終行まで4秒、標準のEmacsキーバインドとほぼ変わらない性能
  • C-p 最終行の行頭から、先頭行まで4秒、標準のEmacsキーバインドとほぼ変わらない性能
  • マウスクリックでテキストの任意位置にカーソル(キャレット)を置き、そこからC-nしてみたところ、次の行にカーソルは移動し、ただし桁数がずれました。ずれる位置は試行ごとに変わり一定せず。
    → 標準のEmacsキーバインドも同じ振る舞いでした。直前のカーソル桁数を覚えており、マウスクリックでカーソル位置が変わってもその時点ではカーソル桁数が更新されていないのでC-nやC-pで行を前後に移るとクリック前のカーソル桁の位置になってしまうような挙動に見えます。
  • カーソルをC-eで行末に移動してC-nやC-pすると、同じ桁数ではなく、移動先の行の行末に移動します。
    → 標準のEmacsキーバインドも同じ振る舞いでした。
  • マウスで範囲選択してからのC-w で別プログラムにペーストする操作OK
  • C-e 操作OK
  • C-a 操作OK
  • C-f 操作OK
  • C-b 操作OK
  • Alt+f 操作 [ファイル]メニューが開かれてしまう
    → 標準のEmacsキーバインドでは次の単語の先頭に移動します(キャメルケースの複合語の場合は、各大文字の直前に移動)
  • Alt+b 操作 何も起きない
    → 標準のEmacsキーバインドでは前の単語の先頭に移動します(キャメルケースの複合語の場合は、各大文字の直前に移動)
  • Esc + Shift + < 操作OK

さて、注目のC-spaceを確認
まずは単一行の部分に適用してみます(画面キャプチャを次のコメント[#51-2]に添付)

    private static final double MAX_SCALE = 6d;
   ^ (1)               ^ (2) 
  • (1)の位置にカーソルを移動し、C-space押下、
  • (2)の位置までカーソルをC-fで移動し、C-w 押下
    → 範囲選択が見えません(表示上はカーソル移動のみ)
    → 行全体が消えて(バッファに移動され)、下の行に詰められます
  • 上述の(2)でAlt-w 押下し、別な場所でC-y すると、行全体がペーストされます

複数行に適用してみます(画面キャプチャを次のコメント[#51-2]に添付)

V (1) 
    private static final double MAX_SCALE = 6d;
    private static final double MIN_SCALE = 0.32;

^ (2)
  • (1)の位置(MAX_SCALE行の行頭)にカーソルを移動し、C-space押下
  • (2)の位置(MIN_SCALE行の次の空行の行頭)にカーソルを移動し、C-w押下
    → 範囲選択が見えなません(表示上はカーソル移動のみ)
    → (2)の空行が消えて(バッファに移動され)、下の行が詰まります

その他

  • C-x C-f で「開く」ダイアログが表示 OK
  • C-s で検索 OK

高橋 徹 さんが8年以上前に更新

C-space C-w を単一行の部分に実施した際の画面キャプチャ

C-space C-w を複数行の部分に実施した際の画面キャプチャ

高橋 徹 さんが8年以上前に更新

Dark Look And Feel Themesが干渉している可能性を疑い、一度Dark Look And Feel Themesを非アクティブ化し、[ツール]メニュー > [オプション] > [外観] > [ルック・アンド・フィール]で優先ルック・アンド・フィールを[Windows]に変更。再起動を促されるので再起動を実施しました。

すると、再起動時のNetBeansキャプション画面で、モジュールのインストールが走りました。
「???」
非アクティブ化でモジュールがインストールされるとは思えず、すると、先ほどインストールしたMoreEmacsプラグインが実は再起動が必要だったのかもしれないと思いつつ、とりあえずWindowsルックアンドフィールでMoreEmacsのset mark機能を試すと、なんと機能するではないですか!

Alt+Fも動作します。しかも、キャメルケースの大文字ごとに止まらないです。

優先ルックアンドフィールをNimbusに変更しましたが、こちらも動作します。

ここで、再度Dark Look And Feel Themesをアクティブ化し、優先ルックアンドフィールをDark Nimbusにしたところ、Altばっちり動作するようになりました。set markによるカットおよびコピーも動作します(選択範囲は目には見えないですが)。

確認環境を素のNetBeansにするために、userdirを指定してNetBeansを実行します。

C:\> "C:\Program Files\NetBeans 8.1\bin\netbeans64.exe" --userdir R:\Temp\NetBeans\anotheruser

起動後、MoreEmacsプラグインをインストールします(手順は先と同じ)。
インストール直後にキーマップのリストを変更しようとしましたが、MoreEmacsがありません。
おや?
インストール済みプラグインのリストをみてもMoreEmacsが見当たりません。
うーん。
もう一回、キーマップのリストを開くと、MoreEmacsがいました。
この状態でMoreEmacsを選択すると、先ほど記述してきた状況(Alt+Fが効かない、set markのカットおよびコピーが単一行全体になっている)が発生します。
一度再起動してみると、Alt+F, set markが機能するようになっています。

ということで、MoreEmacsは再起動を必要とするようです。
プラグインインストール時に、再起動を促すとよいかと思います。

高橋 徹 さんが8年以上前に更新

NetBeans プラグイン一覧の表記名

Bundle.propertiesファイルのOpenIDE-Module-Nameに記載した名前がそのままNetBeansの[ツール]メニュー > [プラグイン]で一覧表示される名前になるようです。

plugin_installed_list-1.png

現在はパッケージ名となっているので、次のように表示されると分かりやすいかと思います。

現在の表示名 修正案
io.github.yas99en.moreemacsnb.core MoreEmacs
io.github.yas99en.moreemacsnb.icu ICU4J

修正案

修正を自分で試してプルリクを送るのがマナーかと思いますが、そこまでに至れていないのですみません。

高橋 徹 さんが8年以上前に更新

プラグインをインストールしたときにNetBeansの再起動を促す方法の調査

いくつかのプラグインをインストールしたときに、インストール後NetBeansの再起動を促すダイアログ表示がでるものがあります。
例)CodenameOnePlugin(以下URLの最後に画面キャプチャあり)
http://www.codenameone.com/netbeans-plugin-installation.html

これってどうやるのか疑問なのですが、探しても見つからず、ツィッターでつぶやいたら方法を教えてもらえました。
https://twitter.com/junichi_11/status/675906832687304704

でも、すてにMoreEmacsはこの設定がチェックされていましたので、何か問題があるようです。
既に対処済みだったのですね。バイナリとソースがタイミングで一致していなかっただけでした。

高橋 徹 さんが8年以上前に更新

  • ステータス進行中 から 解決 に変更
  • 進捗率50 から 80 に変更

以降、試用して問題があればGithubのissueに書くこととし、本チケットはクローズ
https://github.com/yas99en/moreemacsnb

高橋 徹 さんが8年以上前に更新

  • ステータス解決 から 終了 に変更
  • 進捗率80 から 100 に変更

他の形式にエクスポート: Atom PDF