Eclipseプラグイン開発例-native 2 ascii

4372 ワード

サマリ
Javaアプリケーションを国際化する場合は、対応する国際化リソースpropertiesファイルを書く必要があります.resourcebundleのようなサードパーティプラグインを使用すると、私たちの要求を簡単に実現できます.ただし、編集したいのはpropertiesファイルではなく、特定のコンテンツを表示/検索するために使用される場合があります.サードパーティ製のプラグインを使用すると、少し煩雑になります.ここでは,プラグインを開発することによって,インスタントnative 2 ascii機能を実現する.
 
歴史
2010-04-07:概要、機能と部分設計を完成する
2010-04-09:完成設計
 
機能
1,選択した内容をnative 2 ascii出力(unicode)する
2,unicodeコンテンツに対応するローカル符号化の表示
3,あるファイルをnative 2 asciiして別のファイルに出力する
4,あるファイルをnative 2 ascii reverseして別のファイルに出力する
 
使用
1、テキストを選択して右クリックし、ポップアップメニューからunicode tool->native 2 asciiを選択してunicodeビューを開きます
2、ファイルを選択し、右クリックし、ポップアップメニューからunicode tool->native 2 asciiを選択し、f 5を押して現在のディレクトリをリフレッシュすると、変換されたファイルが表示されます.
 
デザイン
1、1つのビューを追加して、主に左、右の2つのテキストボックスから構成して、それぞれトランスコード前の出力とトランスコード後の出力を表示します
     ビューでworkbenchwindowにselectionlisterを追加し、変更すると左、右のテキストボックス内の内容を更新します.
     ビューにツール項目を追加して、native 2 asciiかnative 2 ascii reverseかを決定します.
2、右クリックカスケードメニューを登録し、テキスト(ITextSelection)を選択した場合に表示され、native 2 asciiとascii 2 nativeの2つのサブメニューがそれぞれ機能1と機能2を実現する
3、右クリックメニューを登録し、ファイル(IFIle)を選択した場合に表示され、native 2 asciiとascii 2 nativeの2つのサブメニューがそれぞれ機能3と機能4を実現する
 
インプリメンテーション
1、新しいプラグインエンジニアリングを作成します.
2、拡張を使用してViewを追加し、ウィザードを使用して生成することを推奨します.
3,popupMenuを使用してmenuとactionを追加し、ウィザードを使用して生成することを推奨します.
4、ui.comands拡張を使用して2つのcommandを追加し、ui.menus拡張を使用してpopupMenuにcommandを追加します.
完全な構成は次のとおりです.
<plugin> <extension point="org.eclipse.ui.popupMenus"> <objectContribution objectClass="org.eclipse.core.resources.IFile" id="org.melord.pde.unicodetool.popup.unicode"> <menu label="Unicode Tool" path="additions" id="org.melord.pde.unicodetool.menu.popup.unicode"> <separator name="group1"> </separator> </menu> <action label="Native to Ascii" class="org.melord.pde.unicodetool.popup.actions.Native2AsciiAction" menubarPath="org.melord.pde.unicodetool.menu.popup.unicode/group1" id="org.melord.pde.unicodetool.action.native2ascii"> </action> <action class="org.melord.pde.unicodetool.popup.actions.Ascii2NativeAction" id="org.melord.pde.unicodetool.action.ascii2native" label="Ascii to Native" menubarPath="org.melord.pde.unicodetool.menu.popup.unicode/group1"> </action> </objectContribution> </extension> <extension point="org.eclipse.ui.views"> <view class="org.melord.pde.unicodetool.views.UnicodeView" icon="icons/sample.gif" id="org.melord.pde.unicodetool.views.UnicodeView" name="Unicode View"> </view> </extension> <extension point="org.eclipse.ui.commands"> <command defaultHandler="org.melord.pde.unicodetool.handlers.Native2AsciiHandler" id="org.melord.pde.unicodetool.commands.native2ascii" name="Native to Ascii"> </command> <command defaultHandler="org.melord.pde.unicodetool.handlers.Ascii2NativeHandler" id="org.melord.pde.unicodetool.commands.ascii2native" name="Ascii to Native"> </command> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions"> <menu id="org.melord.pde.unicodetool.menus.sampleMenu" label="Unicode Tool" mnemonic="M"> <command commandId="org.melord.pde.unicodetool.commands.native2ascii" id="org.melord.pde.unicodetool.menus.command.native2ascii" mnemonic="N"> </command> <command commandId="org.melord.pde.unicodetool.commands.ascii2native" id="org.melord.pde.unicodetool.menus.command.ascii2native" mnemonic="A"> </command> <visibleWhen> <iterate ifEmpty="false"> <instanceof value="org.eclipse.jface.text.ITextSelection"> </instanceof> </iterate> </visibleWhen> </menu> </menuContribution> </extension> 

 
 
5,command対応のHandlerクラスとpopupAction対応のActionクラスを実現する(添付ファイルのソースコードを参照)
6、付録
    1、プラグインソースエンジニアリング
    2,プラグイン運転効果スクリーンショット
    3、プラグインにバグがあれば、ご指摘ください.