大規模な多言語プロジェクト(Linuxカーネルなど)用のIDE


11

「どちらのIDEを使用していますか」という質問が100万回寄せられたことは知っています。しかし、私はそれがこの文脈で尋ねられるのを見たことがありません。複数の言語と何千ものファイルを含む巨大なプロジェクトで作業する場合のIDEの推奨事項は何ですか。

良い例がandroidソースです。カーネルには、優れたC / C ++ IDEだけでなく、Javaおよびシェルスクリプトも必要です。この種のプロジェクトのために構築されたものはありますか?

私が通常使用しているのは、KDevelop for C / C ++です。私はそれを愛していますが、Linuxカーネルなどの巨大なプロジェクトで使用すると爆発するようです。また、Javaやpythonに対しても何もしません。

基本的に私が探しているのは、Linuxカーネル自体を含む大規模なプロジェクトで作業するためのIDE /セットアップ(つまり、vim +スクリプト)の提案です。

編集

よくわからなかったかもしれません。IDEそのものを探しているわけではありません。私が本当に興味を持っているのは、大規模で結合されたプロジェクトでの作業を容易にするツール(ツールのセット?)です。例えば。Linuxカーネルは多くのマクロ関数を定義しています。カーネルツリー内の任意のソースファイルを開き、そのマクロの定義を確認できるようにしたい(マウスで移動したか、vim拡張ウィンドウか、それとも何か)。


特にLinuxカーネルをナビゲートするには、LXR(オンラインLinux相互参照)が非常に役立ちます。Androidの場合、Eclipseが優先IDEであるため、作成者はこれをうまく機能させるためにいくらかのエネルギーを費やしています。
Gilles「SO-邪悪なことをやめる」

1
Androidとは、Android Javaアプリ開発を意味しますか?またはアンドロイドカーネル/ NDK開発?
ファルマーリ

@Falmarri-私が見つけたものから、Linuxカーネル開発の特定のケースでは、Link +が非常に人気があるようです:sourceforge.net/projects/linkplustest
Guy Avraham

回答:


5

私がお勧めするのは、言うにはIDEに固執しないことです。コードをファイルシステム内のフラットファイルとして残し、実装する必要がある操作を実装するために必要な独立したツール(Emacs、GCCツールチェーン、Ctagsなど)を使用します。これにより、コードベースがIDEに依存せず、(。projectファイルなどの)コードベースを取り巻く混乱から解放されます。


2
それは私の質問のようなものだと思います。IDE自体は必ずしも必要ありません(すべての機能と同様)。しかし、私が見たいのは、カーネルマクロが定義されている場所、コード補完などです。プロジェクトがコンパイル時間の依存関係と条件付き定義を含む数万のファイルに到達し始めると、vimを使用して物事をまっすぐに保つことは非常に困難です。
Falmarri

1

私は経験からのみ話すことができるので、それはおそらくあなたのプロジェクトの規模を網羅していません。CおよびC ++での開発には、Code :: Blocksを使用しています。

ただし、一般的な考え方は、gitvimctagsなどをうまく活用し、すべてを特定のIDEにバインドしないようにすることです。秘訣は、開発者に特定のIDEを使用させることではありません。プロジェクトの全員が、好きな開発手法とプログラムを使用する必要があります。

大量のファイルの管理については、ファイルシステムに任せてください。フォルダーと説明ファイル、およびコード内のコメントを利用します。


1

Eclipseはおそらくあなたにとって最良の選択でしょう。膨大な数の言語とテクノロジー用のプラグインがあり、カスタマイズ可能で、すべてのOSで利用できます。マイナスとしてそれはjavaを使用し、多くのメモリを必要とします。


2
大規模なプロジェクトでEclipseを使用すると、Eclipseの信頼性が低下します。周りに代替手段がほとんどないので、Java開発者はそれに固執します。
11

大規模なプロジェクトで問題なく使用しましたか?
tshepang

2
私がEclipseで抱えていた問題は、プラグインの考え方です。多くは互換性がなく、ほとんどが一貫性のないユーザーインターフェイスでした(まだですか?)。Java以外のファイルを編集するなど、何か新しいことをしたいときは、プラグインをダウンロードしてインストールする必要があります。プラグインをインストールすると、インストール全体が不安定になる可能性が高くなります。
mattnz 2012

1

私は、大規模な(数百万のSLOC)、レガシーの多言語、マルチプラットフォーム、マルチ開発環境にVisual Slick Editを使用しています。それは商業的で高価です(時間を考慮しない限り)。深刻なJavaセッションの場合はEclipseに切り替えますが、Java、C / C ++、Ada、Python、Pearl、Scriptsなどのさまざまなツールですばやく修正/ツールを使用するには、それを実行できる唯一のツールです。ボックス。

あなたは自分で試練をダウンロードせず、それがそうであるかどうかを確認するために害を及ぼすでしょう

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.