【问题标题】:Easy to extend IDE for C易于扩展 C 的 IDE
【发布时间】:2010-09-17 01:12:43
【问题描述】:

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

谢谢, 萨钦

【问题讨论】:

  • 我认为如果您在问题标题中添加 Linux 一词会有所帮助

标签: c linux ide extensibility


【解决方案1】:

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

量子皮特

【讨论】:

    【解决方案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() - 是一个将被调用的函数。以与那里实施的所有其他操作一样的方式添加您的操作。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我会尝试 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)
        

        【讨论】:

          【解决方案5】:
          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-10
            • 2014-10-18
            • 1970-01-01
            • 2014-01-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多