0

我想要一个用于Linux中 C的简单 IDE/编辑器,我可以轻松地向其中添加功能。例如:我想为编辑器添加一个右键菜单项和相关操作。它应该易于扩展和添加任何所需的功能。我尝试了 eclipse CDT,但它需要学习很多东西(我的意思是知道 eclipse 插件架构和 CDT 扩展点和东西)来做我想做的小修改。

谢谢,萨钦

4

6 回答 6

4

我个人使用 Code::Blocks,根据他们的网站,它也有一个 Linux 发行版。http://www.codeblocks.org/ 我不知道它是否非常可扩展,但它具有您期望从 IDE 获得的所有功能。

量子皮特

于 2008-10-14T08:09:30.973 回答
3

我会尝试 emacs(但你必须在 LISP 中进行编程。当你掌握了括号的诀窍时,这很容易)。您可以根据缓冲区的上下文(.c 而不是 .h)进行编程,它有一个非常大的 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/editor。5 分钟查看源文件给了我一种添加右键菜单项的方法:) 重现步骤:

  1. 下载源代码,尝试构建 - 我对此没有任何问题

  2. 运行,右键单击编辑器窗口中的一些文本 - 例如那里有一个“Goto Implementation”项目

  3. 该文本在src/textEdit.cpp文件中为:

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

因此, slotGotoImplementation() - 是一个将被调用的函数。以与那里实施的所有其他操作一样的方式添加您的操作。

网站上有一些关于向编辑器编写插件的信息——这可能是扩展功能的更好方法,但将一些代码添加到源代码似乎更容易。

于 2008-10-14T08:49:31.283 回答
1

Acme http://plan9.bell-labs.com/sys/doc/acme/acme.ps

这是 Linux 端口 http://swtch.com/plan9port/

于 2008-10-15T17:13:04.480 回答
1

查看代码块以及如何为其编写插件。这是向当前应用程序添加新功能的最简单方法。应该是为代码块做插件的一个很好的起点。

于 2008-10-14T12:19:29.847 回答
0

看看安居塔。它是一个用于 GNOME/Glib 类型应用程序的 IDE,据我所知,它是用 C 语言编写的,并且有一个应该有用的插件框架。

于 2008-10-17T13:32:19.837 回答