*nix 環境に最適な C++ IDE は何ですか? Eclipse の C/C++ モジュールは Notepad++ と同様に適切であると聞いたことがありますが、これら 2 つ以外についてはよくわかりません。ご意見やご感想はありますか?
22 に答える
Ubuntu では、リポジトリで使用できる IDE の一部は次のとおりです。
もあります:
そしてもちろん、みんなのお気に入りのテキストベースのエディター:
- vi/vim
- emacs
vim と emacs が非常に強力なツールであることは事実ですが、学習曲線は非常に急勾配です..
私はEclipseがあまり好きではありません。
私はGeanyを必要最小限の、しかし機能的で使いやすいIDE として使い始めました。基本的なコード補完機能があり、きれいな [Gnome] インターフェイスです。
Anjuta 1日試してみましたが、まったく好きではありませんでした。Geanyほど便利だとは思いませんでした。
Kdevelopとcode::blocksには多くの良いレビューが寄せられていますが、私はまだ試していません。私は gnome を使用していますが、gnome で見栄えのする KDE アプリをまだ見ていません (申し訳ありませんが、素晴らしいプログラムだと確信しています)。
流血の dev-c++ だけが Linux でリリースされていれば。これはすばらしい (ただし Windows のみの) プログラムです。いつでも Wine で実行できます ;)
ある程度、個人の好みによるものです。私のアドバイスは、Kdevelop、Geany、および code::blocks を出発点として調査することです。
長年 Linux でコードを書いてきたプログラマーとして、Vim を使用してコードを書くことから離れられないようです。
それを学び、より高度な機能 (コードの折りたたみ、ctags の使用方法、複数のバッファーを効果的に操作する方法など) のいくつかを学ぶと、別のエディターに移動するのは非常に困難です。慣れています。
vim の機能のスーパーセットを備えた他のエディターは emacs だけです。どちらか一方を学習することを強くお勧めします - 質問がある場合は、ここまたは irc.freenode.net の #emacs または #vim で遠慮なく質問してください - どの拡張機能を学ぶのに役立つ非常に大規模で役立つコミュニティがあります。またはコマンドは、直面しているソフトウェア編集の問題に最も適しています。
[編集: 「vim は IDE ではない」というコメントがありましたが、同意します。IDE モニカは好きではありません。プロジェクト マネージャと多数のドロップダウン ボックスを備えた GUI を意味するからです。私は「優れたツール」という用語を使用するのが好きです。この件に関するTed Leung の著書を参照]
Qt Creatorについて誰も言及していないことに驚いています。ほとんどのリポジトリで利用可能で、サイズが非常に小さく、必要なほとんどのことを非常にうまく実行します。
CodeBlocksをお勧めします。
ハイライト:
- オープンソース!GPLv3、隠れたコストなし。
- クロスプラットフォーム。Linux、Mac、Windows で動作します (wxWidgets を使用)。
- C++ で書かれています。解釈された言語や独自のライブラリは必要ありません。
- プラグインで拡張可能
コンパイラ:
- 複数のコンパイラのサポート:
- GCC (MingW/GNU GCC)
- MSVC++
- デジタルマーズ
- ボーランド C++ 5.5
- ワトコムを開く
- ...もっと
私はEmacsを使っているだけです。
私の投票は KDevelop です (「投票」できるようにもっとポイントがあればいいのにと思います。そうすれば、コメントするよりも間接的に他の人に同意することができます)。
私は約 2 年間 Eclipse を個人的な使用のために使用しており、「IBM が寄付してくれたので、これは良いものに違いない」と確信していましたが、その後 KDevelop を発見し、戻ることはありませんでした。私はプロ向けの Microsoft Visual Studio にかなり慣れていたので、KDevelop が最も快適に感じました。
私はプログラミングを趣味として楽しみたいと思ってctrlいます。他の人が言ったように、彼らにとって「正しい」と感じるものは何でも最高の IDE です。私にとって、KDevelop はコーディングに集中できるため、最も快適に感じます (キーを他の IDE にマップし直して VS のように感じさせることもできますが、前述のように、コーディングに時間を費やすほうが楽しいです)。kkctrlkb
Emacs は素晴らしい、邪魔にならないが、何でもできる種類の IDE です。この他の関連する質問を参照してください: Emacs を IDE として使用する
WindowsとVisualStudioを使用している場合は、Code::Blocksが期待に応えていることに気付くかもしれません。
それが私の経験でした。私は最初に他のいくつかを試しましたが、それらはすべて、私が何か面白いことを始める前に、長いチュートリアルを行うことを期待しているようでした。
Code :: Blocksを使用すると、ジャンプするためのフープはなく、生産性を上げる前に学ぶ必要のある雑用はほとんどありませんでした。私はまだVisualStudioを好みますが、Code ::BlocksはVisualStudioプロジェクトを開くことができ、時間を無駄にしたくないように思われるので、私にとって最も優れた*nixIDEです。
簡単に言えば、Netbeans です。あなたはそれを試してみる必要があります。とっても良い。CDT プラグインを使用すると、Eclipse よりもはるかに優れています。
私は NetBeans C++ プラグインを使用していますが、これはすばらしいものです。私は Visual Studio のバックグラウンドを持っており、Netbeans のプロジェクト管理は非常に似ています。KDevelop を試してみましたが、少し不安定であることがわかりました (これは 12 か月前のことなので、現在はおそらく改善されています)。
私はまた、KDevelop を使用して依存関係に苦労しました。つまり、プログラムが最初に大量のライブラリをビルドする必要がある場合です。しかし、Netbeans はこれを簡単にしました。
唯一の不満は、Java アプリであるため特に高速ではないことです。VMWare で実行すると非常に顕著です。
KDevelopは、特に KDE を実行している場合に便利です。追加のボーナスとして、多くの言語をサポートしています。その組み込み端末は本当に便利だと思いました。
私は ubuntu に切り替える前は VisualStudio + VA-X のユーザーでしたが、どの IDE でも優れたオートコンプリート機能と関数ナビゲーション機能が必要でした。
私は Netbeans、Eclipse CDT、CodeBlocks、Geany、Anjuta、KDevelop を試しましたが、VS+VA-X に最も近かったので、最終的に KDevelop に落ち着きました。
Eclipse と NetBeans は、私の好みでは重すぎて動きが鈍いです。他のほとんどの IDE には、バグ/不完全/ダムのオートコンプリートとその他の機能があります。または、コードを制御したいので、プロジェクトにインポートする必要があります。または、ソース フォルダーに 101 個のファイルを配置します。KDevelop だけが、src フォルダーへの簡単なリンクを作成して作業を許可してくれました。自動補完は素晴らしいものではありませんが、他のものよりは優れています。
KDevelop は私の Gnome とうまく調和しませんが、それでも問題ありません ;)
Netbeans は、その C++ サポートについてかなり良い評価を得ています: http://www.netbeans.org/features/cpp/
C++ 開発に Netbeans や Eclipse を使用したことはありませんが、一見の価値はあります。
アルティメット++ [ http://www.ultimatepp.org/index.html]
[編集]
それには独自の C++ クラス ライブラリがあります (Hernan が指摘するように) が、SDL のような他のクラス ライブラリを使用することを妨げるものは何もありません。必要に応じてブーストを使用することもできますが、提供されているクラスとテクニックのいくつかがより便利であることがわかったと言わざるを得ません.
私が最も高く評価しているのは、デバッガーと非常に完全な状況依存エディターとの見事な統合です。Linux では標準のコンパイラとデバッガ (gcc、g++、gdb) を使用し、そのプラットフォームでは MS コンパイラ/デバッガを使用します。
私が持っている唯一の(非常に小さな)不満は、プロジェクトの自家製の名前です(Nest'sなどと呼ばれます)。それは不必要であり、真面目な開発者にとっては不快なことかもしれませんが、それらは単なる名前であり、簡単に無視できることがわかりました.
私はCodeLiteが本当に好きです。特集ページをご覧ください。
個人的には、kDevelop クラウドにも同意します。Eclipse は少しかさばり、やや不安定に感じました。kDeveloper についての何かは、常に正しいと感じます。
私の以前の仕事では、DebianでのC++開発にSlickEditを使用していました。クロスプラットフォームで非常に強力です。
ただし、無料ではありません。
ほとんどの IDE の問題は、プロジェクトの編成方法をある程度制御したいということです。これは、他の人とそのプロジェクトで作業する必要がある場合に問題になる可能性があります。私の経験では、これは 2 つの一連の関連する問題につながります。
特定の IDE でプロジェクトを開始すると、特定のディレクトリ構造、ファイル編成、ファイル命名規則、ビルド システムなどのレイアウトが作成されます。もちろん、これらのオプションのほとんどはカスタマイズ可能ですが、特定のものに常に準拠できるとは限りません。従わなければならない可能性のある規則。複雑なビルド システムを使用するプロジェクトは、IDE 内から実装するのが難しい場合があります。さらに、プロジェクトは、外部の独立した変更には適していない可能性があります。たとえば、オープンソース アプリケーションを作成する予定がある場合は、IDE をプロジェクトの依存関係にしないでください。
別の場所で開始したプロジェクトをインポートする場合、IDE が提供するすべての機能を簡単に使用できない可能性があります。ビルド システム、デバッガー (バイナリが期待される場所にない可能性があるため) などをフックする方法を理解する必要があります。これは、大規模で複雑なプロジェクトに特に当てはまります。
これらが Windows で問題にならない理由は、Visual Studio がデファクト スタンダードであるためです。*nix では、共同でプロジェクトを開発する際に特定のツール/エディターを強制しない傾向があり、これがこれらの「クロス IDE 通信」の問題が発生する理由です。
最後に、たとえば kdevelop や netbeans を学んでいる場合、ある日、それらのインストールに問題のあるマシンで作業しなければならない場合、問題が発生する可能性があります (たとえば、利用可能な Java ランタイムがなく、使用が許可されていない可能性があります)。インストールします)。(たとえば) Vim + プラグインを学習すれば、はるかに安全になります。構成を .zip ファイルとして Web サーバーに保存し、Vim がいつでもどこでも利用できるようにすることができます。
以前、Linux ユーザーを経験するためにこの質問をしたことがありますが、彼らはいつも Vim と automake と答えています。Linux のデフォルトのエディターとして Vim を使用していますが、しばらくすると直感的に使えるようになります。C++ を学習しながら、いくつかの小さな例に取り組んで学習したので、両方を同時に学習できました。
Emacsは単純なものでも機能しますが、私は大規模なプロジェクトではEclipseを使用しています。
Eclipse モジュールを保証することはできませんが、それは、私が Windows を使用していて、自分が何をしているのかほとんどわからないという事実に起因する可能性があります。
ただし、お気に入りのテキスト エディターで問題が発生することはありません。
Eclipse は悪くありませんが、Eclipse のやり方で物事を行う必要があります。Eclipse には、ディレクトリ レイアウトに関する組み込みのアイデアがいくつかあります。新しいプロジェクトの場合、Eclipse が妥当な選択です。既存のプロジェクトを Eclipse にインポートするには、再構築が必要になる場合があります。
QNX for C++ で Eclipse を使用していました。QNX の人々は実際に C++ 機能を開発したので、QNX は IDE を持つことになります。