【问题标题】:Insert a picture in code comment via Emacs通过 Emacs 在代码注释中插入图片
【发布时间】:2013-04-02 08:54:46
【问题描述】:

我突然想到了一个主意。有什么方法可以在代码注释中插入图片来帮助解释我们的代码吗?毕竟一张图抵得上一千个字。

由于我使用 Emacs,目前有没有针对 Emacs 的实现?

【问题讨论】:

  • 人们从编码开始就使用 ASCII 艺术来帮助解释他们的软件架构。但是大多数文本编辑器对图形的支持并不多……
  • Emacs 提供了用于显示内联图形的低级工具,但是,我不知道有任何软件包可以让您为代码 cmets 执行此操作——对于有更多空闲时间的人来说,这听起来像是一个不错的项目比我...
  • 这是一个有趣的想法,但它的后勤工作是个问题。图片必须相当大才能有任何用途,因此将它们内联存储(base64)不是一个好主意。如果您将它们存储在文件之外,那么您必须记住将图片与源文件一起移动。最大的问题是你不能在文本编辑器中编辑图片,你必须使用外部工具。 source 文件的全部意义在于它是可编辑的,“对其进行修改的首选工作形式”。 ASCII 艺术以外的图片不符合这个概念。
  • @user4815162342,然而,拖拽图像和源代码文件为 javadoc 和 doxygen 完成的,一些 IDE 甚至将这些 cmets 渲染为一些很好的表示(包括绘图图像)。它对我来说也很麻烦,但它是可行的,甚至完成了——只是不适用于 emacs(显然)。
  • 这是一个相关的 SO 问题:insert image into text buffer

标签: emacs comments editor


【解决方案1】:

看看iimage-mode:这是在文本缓冲区中显示图像的标准解决方案。

例如,给定以下文件:

/* an image is worth a thousand words:
 * <path/to/image.png>
 */
int main (int argc, char **argv) {
  return 0;
}

然后运行 ​​M-xturn-on-iimage-mode 应该显示 image.png 来代替它的路径。


但是,我同意 @user4815162342 的评论,即您需要将图像与源文件一起分发,并记住在需要时更新它们(当它们只是文本时,有时很难更新代码 cmets;IMO 将更难更新图像cmets)

【讨论】:

  • +1 我相信这正是 OP 正在寻找的。 (仅表示有人already wrote it.
  • 不敢相信我忘了iimage-mode。非常感谢
【解决方案2】:

您说的是 ASCII 图形还是实际图像?

对于 ASCII 艺术,M-x artist-mode 允许您绘制简单(或不是很简单)的图像。另外,如果您需要绘制基于 ASCII 的 UML 图,CEDET 可以为您完成。

对于插入实际图像,有很多函数,如create-imageinsert-image,因此编写一个将图像插入到 cmets 的次要模式应该很简单。不过,我不知道有任何现成的解决方案。

【讨论】:

  • 我相信他正在为实际图像解决现成的解决方案,但请参阅我的评论以讨论该想法的问题。
  • 感谢您的回答。是的,我正在寻找现成的解决方案
【解决方案3】:

如果您也想粘贴在线图片,cacoo.el 将非常有用。它缓存在线图像并明智地调整其大小。因此,从第二次开始显示图像要快得多。它也适用于本地图像。

它最初是为名为@9​​87654322@ 的网络服务开发的,但它适用于任何在线图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 2018-03-16
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2012-01-19
    相关资源
    最近更新 更多