【问题标题】:Emacs auto-complete for Qooxdoo?Qooxdoo 的 Emacs 自动完成功能?
【发布时间】:2011-07-19 11:36:02
【问题描述】:

我正在使用 Qooxdoo 和 emacs 和 js2-mode(伟大的工具 btw)开始一个项目,但我有一个小问题:没有对 qooxdoo 框架类的自动完整支持。目前我启用了自动完成模式,但是当我需要记住框架类时它没有帮助。

注意事项: - 我正在使用 emacs 24。 - 如果需要,我可以放弃自动完成模式并改用公司模式。

谢谢!

编辑:为了完成这项工作,我编写了一个小脚本来从 framework/source/class 目录中获取类名:

find . -iname '*.js' -print0 | while read -d $'\0' file
do
  grep '^qx.Class.define(".*",$' $file | sed 's/qx\.Class\.define("\(.*\)",/\1/' >> ~/.emacs.d/ac-dict/js2-mode
done

之后,按照 sanityinc 的回答,一切都按预期工作。谢谢!

【问题讨论】:

  • 不错的脚本,但您应该可以只使用文件名,因为文件的 qx/... 路径与其类名之间存在 1:1 的关系(例如路径 qx/util/ResourceManager.js 包含类 qx.util.ResourceManager)。让它更容易一些。并且一定要 -prune qx/test,因为你不希望单元测试类炸毁你的字典。 - 走的路!
  • @thomash 好点。如果接下来的几周我有空闲时间,我想我会制作一个改进的版本(当我输入“.”时,当前“停止”完成,如“qx.something”)并在此处发布链接并发送有关它的邮件致 qooxdoo 团队。

标签: emacs qooxdoo


【解决方案1】:

您可以使用基于主要模式的user-defined dictionary 来完成此操作。首先,确保您的'ac-sources 包含'ac-source-dictionary。然后,创建一个包含框架类名称列表的文件,并将其保存为~/.emacs.d/ac-dict/js(或~/.emacs.d/ac-dict/js2-mode)。

在您的~/.emacs(或~/.emacs.d/init.el,如果您改用该方案,您应该;-)中设置以下变量:

(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")

重新启动您的 emacs,然后 .js 文件中的自动完成候选应包含您的类名。

【讨论】:

  • 好主意!我会试一试并稍后发布结果。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 2012-07-27
  • 2013-03-17
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
相关资源
最近更新 更多