私はVimにはまっていますが、今ではテキストファイルを編集する私の事実上の方法です。
IDEではなく主にテキストエディタであるということで、誰かがJavaアプリを開発するときにそれを簡単にするためのトリックを持っていますか?
私が持っているいくつかの質問:
知っておくべきこと(「やらないで!」以外)
私は長年Vimユーザーです。私は時々Eclipseを起動することに気づき始めています(viプラグインを使用すると、さまざまな問題が発生します)。主な理由は、Javaビルドにはかなり時間がかかることです...そして、mavenのような高度にコンポーネント化されたビルドフレームワークを追加することで、ますます遅くなっています。そのため、変更の検証にはかなり時間がかかる傾向があり、私にとっては、後で解決しなければならないコンパイルの問題が山積みになり、コミットメッセージのフィルタリングに時間がかかることがよくあります。
コンパイルの問題のキューが大きくなりすぎたら、Eclipseを起動します。これにより、変更点を簡単に作成できます。使用するのは遅く、残忍で、Vimほどエディタのニースほどではありません(私は10年近くVimを使用しているので、私にとっては2番目の性質です)。特定のバグを修正する必要がある、特定のロジックをリファクタリングする必要があるなど、正確な編集が必要です... VimでできるほどEclipseで編集するのは効率的ではありません。
また、ヒント:
:set path=**
:chdir your/project/root
これにより、クラス名の^wf
は、大規模なプロジェクトをナビゲートするための非常に素晴らしい機能になります。
とにかく、スキニーは、多くの新しいコードを追加する必要があるとき、コンパイルの問題などを追いかけるのに時間を費やしただけで、Vimは遅くなるようです。ただし、特定のソースを見つけて編集する必要がある場合、Eclipseは大ハンマーのように感じます。 Vimの魔法のIDEをまだ待っています。私が知っている3つの主要な試みがありました。多くの機能を追加する純粋なviml IDEタイプのプラグインがありますが、使用できないようです。 eclimがありますが、これには多くのトラブルがありました。また、Vimを実際に埋め込むEclipse用のプラグインがあります。最後の1つは、真に深刻なJava EEの作業にとって最も有望と思われますが、Eclipseのすべての機能と組み込みVimを実際に統合することはうまくいかないようです。
大規模なIDEプロジェクトで作業している場合、キーストロークで欠落しているインポートを追加したり、入力の問題でハイライトコードを追加するなどのことは、Javaから非常に貴重であるようです。
viを終了せずにMavenタスクを呼び出すにはどうすればよいですか?
Mavenは他のシェルコマンドと違いはありません。
:!mvn
:set makeprg=mvn
のお気に入りのキーマッピングが既にある場合は、:make
を使用できます。
コード補完を取得できますか?
はい、 eclim は素晴らしいです。vimの編集効率とEclipseのJava言語固有の認識の橋渡しをします。
<C-n>
と<C-p>
はそれほど優れていませんが、驚くほど役立ちます。
構文の強調表示はどうですか?
正規表現ベースのハイライガーには十分すぎるほどです。
コードテンプレート(- snippetEm —デフォルトのスニペットは吸うが、カスタマイズ可能性が高い)、使用法を検索して宣言(eclim、grep、ctags)に行くなど、他のvim + Java目的のツールを検討することもできます。ゲッターとセッターの生成( Java_getset 、またはeclim)、自動インポート(eclim)。また、簡単な実験のためにJavaシェルが必要になる場合があります( BeanShell 、別名bsh
)。
Java Mavenプロジェクトの開発用に このVimプラグイン をアップロードしました。
まだハイライトを設定していない場合は忘れないでください:
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
次の要約が非常に有用であることがわかりました: http://www.techrepublic.com/article/configure-vi-for-Java-application-development/5054618 。 :makeの説明は、mavenではなくant向けでしたが、それ以外はNice要約です。
私はこれがかなり数年後であることを知っていますが、ここにいくつかの興味深いプラグインがあります。私はこれらのいずれもまだ試していませんので、YMMV。
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
編集:ああああ、私はeclimを何度も試しましたが、vimが好きな理由はその軽さです。ヘッドレスモードでもEclipseを実行することは、私にとって精神的な負担になりすぎます。
EDIT2:私は最近playframeworkを使用していますが、これはおそらくMavenビルドでも動作します:
コンパイルのために、VIMのmakeを構成してmavenを実行するか、私の場合はビルドスクリプトを実行して、それをファイルにティーします。
autocmd Filetype Java setl makeprg=play_compile
autocmd Filetype Java setl efm=%A\ %#[error]\ %f:%l:\ %m,%-Z\ %#[error]\ %p^,%-C%.%#
「play_compile」は単なるコンパイルスクリプトです。 SBTを使用するため、Mavenはここで正常に動作します。直接javacでも機能します。このようにして、VIMのクイックフィックスバッファ(:cnext、:clist:cprevなど)を使用できます。
Vimを使用します。 ^-^(正確にはgVim)
すべてが揃っています(いくつかのプラグインが必要です)。
ところで、 snippetsEm は、便利なスニペット(TextMateなど)を使用したコーディングのための素晴らしいツールです。既製のパッケージを使用(または変更)することも、独自のパッケージを作成することもできます。