10

Linux 環境で複数のソース ファイルを使用する大規模なプロジェクトを、人々が通常どのようにナビゲートするのか疑問に思っていました。主に C と Python を使用し、C++、C#、Java を使用することもあります。

特定のエディター、プラグインなどについて知りたいと思っていました。以前は Windows でプログラミングしていたので、vi や emacs などのエディターはあまり好きではありませんが、これらのエディターの 1 つを学ぶことが本当に役立つかどうかお考えの場合は、提案してください。これらのプログラムを使用して大規模なプロジェクトを管理することで、生活を簡素化するために使用する特定のプラグイン。

ここにいくつかのシナリオがあります: ファイル F の特定の関数 A に取り組んでいるとしましょう。突然、この関数がファイル G の関数 B を呼び出す必要があることに気付きました。決定するために、その関数にすばやく移動する必要があります。別のシナリオでは、ファイル内の 2 つの異なる場所で同時に作業し、これら 2 つの場所をすばやく切り替えます。

私はEclipseを使用してプロジェクトを管理し、開発を行い(Eclipseの自動補完は非常に遅いです)、geanyを使用してファイルを個別に編集していますが、そのレベルの効率に実際には到達できないようです.

コード管理とナビゲーションのテクニックを共有してください。

ありがとう、

編集: 言語

4

12 に答える 12

7

etags を使用した Emacs -- EmacsWiki on Tagsなどを参照してください-- Emacs のデフォルト モードは、R、C++、C、シェル、Perl、Python、SQL など、私が気にかけているすべての言語で機能します。 . Exuberant Ctagsは、これを vi ファミリーを含むより多くの言語とエディターに一般化します。

于 2009-08-03T02:24:40.373 に答える
5

vim 愛好家(私のような) の場合: vim + ctags は素晴らしい仕事をします。また、grep はあなたの親友です。

于 2009-08-03T07:44:56.850 に答える
2

さて、どんなコードのことを言っているのですか?C++/java/php/ruby/python netbeans、特に最新の開発ビルドを強くお勧めします。また、kde 4.2 (svn から) 用の KDevelop も非常に優れています。php/C# のサポートは非​​常に実験的ですが、ランダムなクラッシュは本当に良いです。Netbeans は、Java をインストールして実行することを気にしない場合、Linux での php/java/c++ の最も安定した IDE です。

于 2009-08-03T02:24:26.677 に答える
1

ファイルのgrepにackは、実際のgrepよりも優れています。

ファイル間を移動するには、バックグラウンドでkwriteを実行する bash エイリアスと、ファイル名の bash 補完で十分です。

于 2009-08-03T10:57:42.643 に答える
0

ほとんどの Perl および C/C++ プログラミングには gvim (Vim の GUI バージョン) を使用しています。ナビゲーションのために、NERDTree、 ctags 、ack、そしておそらく Perl などで書かれたいくつかのカスタム スクリプトを見つけました。サイトにVim/gvim 構成を配置しました。そこにあるように、そこには "so $VIMRUNTIME/mswin.vim" があります。これにより、Vim は Windows エディターに非常に似たものになり、そこから来た人々にとってはより親しみやすくなります。多くの筋金入りの vim 専門家は使用をお勧めしませんが、私はまだ使用しています。

Vim のホームページには他にも便利なプラグインがたくさんあります。

于 2009-08-03T11:21:18.437 に答える
0

Kscopeを見てください。C で記述されたソース ファイルの任意のセットの定義、参照、呼び出し関数、呼び出された関数などを提供する右クリック メニューを提供します。大きなプロジェクトで使用すると、信頼性が高く高速です。

ソースナビゲーションに使用していますが、編集部分ではgeanyの方が快適です。これは C に限定されたものではなく、入力時に関数のプロトタイプを提供する優れたオートコンプリート機能を提供します。まだいくつかの荒削りな部分がありますが、C を書くことに関しては、Kscope + Geany の組み合わせが今のところ私のお気に入りの組み合わせです。

于 2009-08-03T07:40:30.527 に答える
0

私は Eclipse を使用し、検索機能を多用しています (C では主にテキスト検索用)。

ツールチップも有効にしており、ドキュメントや関数の始まりを表示できます。

マークの出現は、ファイル内のものを見つけるのにも役立ちます。

私は通常、TODO コメントで作業する場所に印を付けます。これらはサイドバーに表示されるため、そこをナビゲートするのは比較的簡単です。

エラーメッセージなどと関連付けるために、行番号も有効にします。

Eclipse の 2 つの異なるウィンドウで同じファイルを編集することはできないと思います (ただし、間違っていることが証明されれば幸いです)。

于 2009-08-03T10:51:33.750 に答える
0

C++ には MonoDevelop を使用できます。Windows / VS.Net で経験したのと非常によく似た経験になります。

于 2009-08-03T02:27:36.393 に答える
0

私はIntelliJの大ファンです。そのスローガンはすべてを物語っています:「喜びとともに発展する」。もちろん、これは Java を使用していることを前提としています。ただし、Python を含む他のいくつかの言語のプラグインがサポートされています。

于 2009-08-03T02:31:02.283 に答える
0

他の人のコードを理解する必要がある場合、私はよく Doxygen を使用します。私は自分のコードを書いている間、CTags で Vim を使用しています。

于 2009-08-03T03:13:46.597 に答える
-1

発射体と統合された Spacemacsは良い選択です。

ack、grp、 agなどのユーティリティを使用して、プロジェクト ファイルを検索できます。

(ag は ack や grep よりも優れています)

于 2016-03-14T09:25:45.003 に答える