Touka Leaves: WShare Plugin は,Eclipse ワークスペースの設定情報を複数の環境間で共有することを支援するツールです。
ファイルの文字エンコーディングや改行コードの基本設定やプラグインの設定など,ワークスペース毎に設定しなければならない情報をワークスペース情報設定ファイルに記述し,それを WShare Plugin が提供する Import ウィザードで取り込むことで,簡単に個々のワークスペースで共通の設定を行うことができます。
ワークスペースの設定は,Eclipse に含まれる Plugin の設定として記述します。
01: <?xml version="1.0" encoding="UTF-8"?> 02: <workspace-preferences xmlns="http://tsukuba-bunko.org/ns/touka/leaves/wshare" restart="true"> 03: <plugin-preferences name="org.eclipse.core.runtime"> 04: <preferences name="content-types"> 05: <preferences name="org.eclipse.core.runtime.text"> 06: <value key="charset">UTF-8</value> 07: </preferences> 08: </preferences> 09: <value key="line.separator">
</value> 10: </plugin-preferences> 11: <plugin-preferences name="org.eclipse.core.resources"> 12: <value key="encoding">UTF-8</value> 13: </plugin-preferences> 14: </workspace-preferences>
ワークスペース設定ファイルは XML ファイルです。workspace-preferneces 要素をルート要素とし,プラグインの設定を plugin-preferences 要素として列挙する形式になっています。どのプラグインについての設定であるかは name 属性にプラグインIDを記述することで定義します。
プラグインの個々の設定項目は value 要素として記述します。項目名は key 属性,設定値は value 要素のコンテンツにそれぞれ記述します。
Eclipse プラグインの設定情報は階層をもったデータ構造になっている場合があります。その場合,設定情報のノードは preferences 要素として記述します。preferences 要素に記述できる内容は plugin-preferences と同一です。
設定項目によっては、変更を反映するのにワークスペースの再起動が必要になるものもあります。そのような場合は、workspace-preferences 要素の restart 属性に true を設定します。省略した場合は false となり再起動は行われません(デフォルト)。
ワークスペース設定ファイルの詳細な構造については,W3C XMLSchema スキーマを参照してください。
記述例[1]は,「ファイルの文字エンコーディングを UTF-8 に,改行コードを CRLF にする」場合の設定内容を記述したものです。
この場合,以下のような設定を行う事になります。
org.eclipse.core.resources プラグインを以下のように設定する (L.11~L.13)encoding を UTF-8 に設定 (L.12)org.eclipse.core.runtime プラグインを以下のように設定する (L.3~L.10)content-types/org.eclipse.core.runtime.text を UTF-8 に設定 (L.4~8)line.sparator を \r\n に設定 (L.9)ワークスペースにどのようなプラグインの設定情報が保存されているかについては,Exportウィザードを使用してワークスペースの設定情報をワークスペース設定ファイルに保存し,その内容を参照することで参考になると思います。
ワークスペース設定ファイルでは、プラグインの設定値として変数の値を埋め込むことができます。
変数は以下のような場合に使用します。
01: <?xml version="1.0" encoding="UTF-8"?>
02: <workspace-preferences xmlns="http://tsukuba-bunko.org/ns/touka/leaves/wshare" restart="true">
03: <variables>
04: <variable name="MavenRepository" type="folder" description="Mavenローカルリポジトリの場所"
05: >${user.home}${file.separator}.m2${file.separator}repository</variable>
06: <variable name="FileEncoding" type="text" editable="false">UTF-8</variable>
07: <variable name="FormatterConfig" type="file" editable="false">codeformatter.xml</variable>
08: </variables>
09: <plugin-preferences name="org.eclipse.core.runtime">
10: <preferences name="content-types">
11: <preferences name="org.eclipse.core.runtime.text">
12: <value key="charset">${FileEncoding}</value>
13: </preferences>
14: </preferences>
15: <value key="line.separator">
</value>
16: </plugin-preferences>
17: <plugin-preferences name="org.eclipse.core.resources">
18: <value key="encoding">${FileEncoding}</value>
19: </plugin-preferences>
20: <plugin-preferences name="org.eclipse.jdt.core">
21: <value key="org.eclipse.jdt.core.classpathVariable.MAVEN_REPO">${maven_repo}</value>
22: </plugin-preferences>
23: <plugin-preferences name="org.eclipse.jdt.launching">
24: <value key="org.eclipse.jdt.launching.PREF_VM_XML">${vmconfig$contents()}</value>
25: </plugin-preferences>
26: <plugin-preferences name="org.eclipse.jdt.ui">
27: <value key="formatter_profile">_TBAS-Standards</value>
28: <value key="org.eclipse.jdt.ui.formatterprofiles">${FormatterConfig$contents()}</value>
29: </plugin-preferences>
30: </workspace-preferences>
変数は variable 要素として記述します。
xsd:string:必須] 変数名。置換時にはこの変数名で埋め込む変数を識別します。xsd:string:必須] 変数のデータ型。以下のデータ型の何れかを指定します。file - ファイル型。変数はファイルへのパスを値として保持します。folder - フォルダ型。変数はファイルフォルダへのパスを値として保持します。text - テキスト型。変数は任意の文字列を値として保持します。xsd:boolean] 編集が可能かどうか。省略した場合 true になります。xsd:boolean] 変数値が未設定でも良いかどうか。省略した場合 false になります。変数値は variable 要素のコンテンツとしてテキストで記述します。
宣言した変数は、その変数の値で置換したい場所に ${変数名} の形式で埋め込みます。
以下の箇所で変数埋め込みが可能です。
value要素の内容)variable要素の内容)変数のデータ型が file である場合、その変数値によって指定されたファイルの内容を埋め込むこともできます。
ファイル内容の埋め込みには ${変数名$contents()} の形式を使用します。ファイルの内容はテキストである必要があります。デフォルトでは文字エンコーディングとして UTF-8 を使用して読み込みますが、他のエンコーディングを使用する場合は ${変数名$contents(encoding=エンコーディング名)} の形式で指定してください。
変数の値をワークスペース設定をImportする環境ごとに変更したい場合は、editable 属性を true に設定します。
editable 属性が true である変数が1個以上ある場合、Importウィザード で設定を Import する際に,ウィザードの画面で変数値を個別に設定することができます。
WShare Pluginが提供するImportウィザードを使うことで、ワークスペース設定ファイルをワークスペースにImportし、設定ファイル内に記述された内容をワークスペース設定に反映させることができます。
[File]-[Import...] を選択するか、Navigator View や Package Explorer View などの右クリックメニューから [Import...] を選択します。[Touka Leaves]/[Workspace Preferences] をマウスでダブルクリック、または、選択した状態で [Next]をクリックします。
[拡大][編集] ボタンをクリックします。
[拡大]file型 - ファイル選択ダイアログfolder型 - フォルダ選択ダイアログtext型 - テキスト入力ダイアログ[Finish] をクリックするとImport処理が開始します。
[拡大]
[拡大]WShare Pluginが提供するExportウィザードを使うことで、ワークスペースの設定をワークスペース設定ファイルの形式で書き出すことができます。
[File]-[Export...] を選択するか、Navigator View や Package Explorer View などの右クリックメニューから [Export...] を選択します。[Touka Leaves]/[Workspace Preferences] をマウスでダブルクリック、または、選択した状態で [Next]をクリックします。
[拡大]org.eclipse.jdt.uicontent_assist_disabled_computers