subclipse [Eclipse]
Subclipse の評価(0.9.31→0.9.32)
■結論?(問題点)
- ファイルの削除に問題あり?(0.9.31)
- ファイルの削除の問題はFIXされている模様です。これで、リファクタリングを含めた一通りの操作が可能になりました。これをもちまして私のリポジトリもCVSからsubclipseに移行します(^^)。(0.9.32)
■目的
CVSからsubversionへの移行を果たし、subeclipseの評価をおこないます。評価したsubclipseのバージョンは0.9.32です。
■リファクタリング
subversionに移行した理由の1つは、ファイルに対する変更履歴情報がリファクタリング後も保持されることです。さっそく試してみます。
- RefactoringTestクラスを作成し、VersionControl対象に追加し、commit。
- RefactoringTestクラスのクラス名称を変更する。
- subversionリポジトリに変更内容をコミットする。
- コミットされた内容を確認する。
クラス名を変更することにより、クラス変更前の履歴情報が変更後のクラスに引き継がれることを確認しました。
ただし問題点が残りました。ローカルファイルシステム、Subversionのリポジトリ、ローカルマシンのSubversion管理情報間で矛盾が発生してしまうようです。変更前のクラスは、ローカルマシン上およびsubversionのリポジトリからは削除されています。しかし、ローカルマシンのsubversion管理情報は、ローカルファイルシステムからは削除されましたが、リポジトリには反映されていない状態になります。具体的には、リポジトリとの同期をとると下記のようになります。
同期をとり、ローカルファイルシステムで削除されたファイルをコミットしようとすると「Failed in remoteFileContents()」となる。リポジトリを開いて(「SVN exploring Perspective」)、「Remove from View」コマンドによりViewから見えなくすることは可能ですが、適切な解決法とはいえないでしょう。
おそらく、Subclipseの削除処理に問題があると推察しています。次の操作から原因を推察しています。ファイルシステムから、ファイルを削除し、リポジトリに削除したことを反映します。ローカルのファイルシステムおよびリポジトリは削除された状態になりますが、subclipseの管理情報は削除された状態になりません。この削除処理に問題があるため、リファクタリング結果が正常に反映されないのではと推察しています。
引き続き、適切な対処法を調査してみます。
0.9.32がリリースされたようですので、さっそく評価してみました。Changelogをざっと見る限り、問題に該当する修正内容は見当たりませんが、動作検証する限りは修正されているようです。Eclipse 3.1 GA もサポートされたようです。
Changelog(0.9.32)
http://subclipse.tigris.org/subclipse/changes.html
Eclipse3.1 [Eclipse]
Eclipse3.1
Eclipse3.1がリリースされました。(6/27)さっそくインストールしてみて使い勝手を評価してみます。
■変更点
■動作確認済みのPlugin
- subclipse0.9.31
- TestNG0.2.4.2.0 maybe only works well with Eclipse 3.1
- CallGraphEclipsePlugin0.9.6(Required GraphViz ) only works well with Eclipse3.1
■設定メモ
- エディタで編集する際にはViewをcloseする。
エディタでソースコードを編集する際には、左側の「Package Explorer」が邪魔に感じたことはありませんか。以下の方法により、エディタでソースコードを編集時にはViewをcloseすることができます。
Viewを選択し、「Fast View」を選択する。「Dock On」を選択し、「Left」を選択する。 - バックグラウンドでタスクを実行
Eclipse3以降では、プログレスバーが表示され時間のかかる処理のほとんどは、バックグラウンドで実行することができます。以下の設定を加えてみてください。
"Window"→"Preferences"→"General"→"Always run in background" - ファイルシステムとの同期の自動化
Eclipseはファイルシステムのキャッシュを保持しています。そのため、ファイルシステムのファイルをEclipse以外のエディタで編集した場合は、Eclipse上で「Reflesh(F5)」を実行し、その変更内容をEclipseに反映する必要がありました。Eclipse3以降では、以下の設定により、ファイルシステムとEclipse内のキャッシュの同期を自動的におこなうことが可能です。
"Window"→"Preferences"→"General"→"Workspace"→"Reflesh automatically"
■ショートカット
- Ctrl+1
エラーを訂正するためのショートカットキー