eclipse - 使用 Eclipse,如何编写 Stack Overflow 的代码片段格式的脚本?

标签 eclipse macros eclipse-plugin

背景:我是一个顽固的 Emacs 用户,涉猎多种语言。最近,一位著名工程师指责我在这个时代继续使用 Emacs,我想对这位著名工程师的指责进行测试。 (这位著名工程师碰巧偏爱 NetBeans,但我们暂时不谈。;-) )所以我开始熟悉 Eclipse,我想了解它的可编程性。

您将如何为 Eclipse 设计一个命令,该命令对选择的代码执行以下操作?

  • 扩展选择范围,以便选择完整的行
  • 取消标签化代码(用 4 个空格替换制表符)
  • 在每个选定行的开头插入一个 4 个空格的块
  • 将结果复制到剪贴板,以便我可以将其粘贴到 Stack Overflow 答案中 :-)

  • 我不是在寻找代码片段本身,而是在寻找我应该做什么的指针。我需要为此编写一个完整的插件吗?我应该看看宏观设施吗?哪些 API 可以帮助我,它们记录在哪里(如果有的话)?是否已经有任何示例可以在 Eclipse 中进行这种临时但程序化的文本操作?

    对于这个问题,我正在寻找一种尽可能轻量级(阅读:易于破解)的解决方案......

    最佳答案

    考虑到一个普通的 Eclipse 安装,我认为你能得到的最接近的是为 SO 创建一个格式化程序模板。可能有 3rd 方插件提供更高级的界面。

    然而,就插件而言,我认为这个非常简单。我猜你可以看看 line-comment (Ctrl-/) 命令是如何工作的,以了解如何创建命令以及如何“扩展选择以便选择完整的行”。我想“取消制表”将是一些非常简单的字符串操作,就像插入一个 4-space 块一样。最后,复制到剪贴板是一项非常常见的 Java 任务(请参阅 this link 或查看 Toolkit.getSystemClipboard(); )。正如您可能猜到的,真正的工作只是将各个部分放在一起。

    关于eclipse - 使用 Eclipse,如何编写 Stack Overflow 的代码片段格式的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216430/

    相关文章:

    JavaFX 在 UI 中的两个 Pane 之间切换

    java - Maven Eclipse 调试 "JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)"

    java - eclipse插件项目根目录

    maven - 如何在复制依赖项时排除 eclipse-plugin 依赖项?

    java - 如何使 Eclipse org.eclipse.swt.widgets.Text 组件更宽?

    java - 排队顺序 UI 作业并在 UI 中显示它们

    java - 我还需要做什么/创建什么来使我的 servlet 和 AJAX 工作?

    c - 宏观问题以及可能的输出是什么?

    c++ - 使用宏替换 "using namespace ...;"

    Emacs Lisp 宏步进器