7

メモ帳を使用してJavaで開発しています。開発サイクルには非常に満足していますが、Eclipse や他の大きな IDE にある自動インポート機能のようなものが欠けています。私の推測では、Eclipse がそれを行う場合、それを行うことができる外部ツールがあります。

そのようなツールをインストールして、コマンド ラインから使用できますか?

たとえば、次のソース コードがあります。

public class Test extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final TextView tv = new TextView(this);
        tv.setText("Hello World!");
        setContentView(tv);
    }
}

そのようなユーティリティを実行したいと思います:

jautoimp Test.java

次の出力を取得します。

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
4

3 に答える 3

1

最新の IDE がオートコンプリートできる主な理由は、完全なプロジェクトについて詳しく知っているからです。優れたオートコンプリートは、別のコンパイル手順がなくても機能します。

これは、エディターとコンパイラーが非常に良い友達であるため、コンパイラーは (すべてをコンパイルするのではなく) 編集されたファイルを処理し、コンパイラーがソースから何を派生させるかをエディターが知っていることを意味します。

Unix の世界では、これは通常 TAGS と呼ばれ、vi 用と emacs 用の 2 つの方言がありました。これらのエディタのいずれかに切り替えて、必要に応じて手動で TAGS ファイルを生成するのが最善の策です。Emacs (Java EE プロジェクト) でより完全な Java プログラミング環境を作成する試みがありましたが、Eclipse はリファクタリングを実行できなかったため、それを中止しました。

あなたが求めている機能は、実際にはIDEの特徴の1つであることに注意してください。オートコンプリート以外の IDE 機能を使用する準備ができているかどうかを検討することをお勧めします。

于 2013-04-11T09:42:40.200 に答える
0

@winterweirdの答えはいいようです。https://github.com/serv-inc/javimpのコードは、javac が必要とするインポートを自動的に追加するように彼を拡張します。を除く他のすべてのモードがありません-i。次のように呼び出すことができます

python javaimp.py JavaFile.java

または、クラス リストを更新するには、python javimp.py. ファイルが必要javimp.pyで、現在のクラス リストに対して一度実行するか、ファイルをダウンロードする必要がありますjava_classes.list

PS: 結果のファイルは

import android.widget.TextView;
import android.os.Bundle;
import android.app.Activity;
public class Test extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final TextView tv = new TextView(this);
        tv.setText("Hello World!");
        setContentView(tv);
    }
}
于 2018-10-18T10:44:01.680 に答える