0

機能を簡単に追加できる、LinuxC 用のシンプルな IDE/エディターが必要です。例: エディタに右クリック メニュー項目と関連するアクションを追加したいと考えています。必要な機能を簡単に拡張して追加できる必要があります。私はEclipse CDTを試しましたが、私がやりたい小さな変更のために行うには、多くの学習(EclipseプラグインアーキテクチャとCDT拡張ポイントなどを知ることを意味します)が必要です。

ありがとう、サチン

4

6 に答える 6

4

私は個人的に Code::Blocks を使用しています。彼らの Web サイトによると、これには Linux ディストリビューションもあります。http://www.codeblocks.org/ 非常に拡張可能かどうかはわかりませんが、IDE に期待されるすべての機能を備えています。

クォンタムピート

于 2008-10-14T08:09:30.973 に答える
3

私はemacsを試してみます(しかし、あなたがしなければならないプログラミングはLISPです。括弧のコツをつかめば簡単です)。バッファ (.h 以外の .c) のコンテキストに応じてプログラミングを行うことができ、最も必要なものの多くが既に実装されている非常に大きな c モードがあります。

例: if を挿入

;; the indention-thing needs refining
(defun pm-if ()
 "generates if stub"
 (interactive)
 (insert "if () {")
 (indent-according-to-mode)
 (newline)
 (indent-according-to-mode)
 (newline)
 (indent-according-to-mode)
 (insert "} /* endif */")
 (indent-according-to-mode)
 (newline)
 (indent-according-to-mode)
 (previous-line 3)
 (end-of-line)
 (goto-char (- (point) 3))
)


;; bind it to CTRL-c i
(define-key Ctl-C-keymap "i" 'pm-if)
于 2008-10-14T12:53:51.243 に答える
2

QDevelopを見てください。これは非常にシンプルですが、qt アプリケーション用の機能を備えた IDE/エディターです。ソース ファイルを 5 分見ただけで、右クリック メニュー項目を追加する方法がわかりました :) 再現手順:

  1. ソースをダウンロードしてビルドしてみます - 問題はありませんでした

  2. 実行し、エディター ウィンドウでテキストを右クリックします。たとえば、そこに「Goto Implementation」項目があります。

  3. そのテキストはsrc/textEdit.cppファイルにあります:

    connect(menu->addAction(QIcon(":/treeview/images/cpp.png"), tr("Goto 実装")), SIGNAL(triggered()), this, SLOT(slotGotoImplementation()) );

したがって、slotGotoImplementation() は呼び出される func です。そこに実装されている他のすべてのアクションと同様の方法でアクションを追加します。

エディタへのプラグインの書き込みに関するサイトにいくつかの情報があります- 機能を拡張するためのより良い方法かもしれませんが、ソースにいくつかのコードを追加する方が簡単なようです.

于 2008-10-14T08:49:31.283 に答える
1

コードブロックとそのプラグインの書き方を見てください。これは、現在のアプリケーションに新しい機能を追加する最も簡単な方法です。これは、コードブロックのプラグインを実行するための良い出発点になるはずです。

于 2008-10-14T12:19:29.847 に答える
1

アクメ http://plan9.bell-labs.com/sys/doc/acme/acme.ps

これは Linux ポートです http://swtch.com/plan9port/

于 2008-10-15T17:13:04.480 に答える
0

アンジュタを調べる。これは GNOME/Glib タイプのアプリケーション用の IDE であり、私の知る限り C で書かれており、便利なプラグイン フレームワークを備えています。

于 2008-10-17T13:32:19.837 に答える