Cider: `js` 命名空间不可用于 `(cemerick.piggieback/cljs-repl (cljs.repl.node/repl-env))` 上的自动完成。

创建于 2015-12-31  ·  6评论  ·  资料来源: clojure-emacs/cider

重现步骤:

  • 创建 leiningen 项目
  • 添加clojurescriptcemerick.piggieback作为依赖
  • 启动苹果酒 clojure REPL
  • 执行(cemerick.piggieback/cljs-repl (cljs.repl.node/repl-env))以启动 nodejs REPL。
  • 输入js/并按TAB

预期结果:

自动完成应该向我显示js命名空间中的变量列表。

实际结果:

我什么也没看见。

ClojureScript

最有用的评论

这最终在 CIDER 0.22 中得到修复。 所有的功劳都归功于@rksm和他精彩的clj-suitable项目,CIDER 利用它来提供更好的完成。

所有6条评论

@cichli你能看看这个吗?

我以前看过这个,通过对 CLJS 编译器的增强,我们至少可以提供 externs 的完成 - http://dev.clojure.org/jira/browse/CLJS-1047。

JS 运行时中所有内容的一般完成都需要eval ,这可能会阻塞 REPL,或者如果eval操作已经在运行则阻塞。 补全也只能在 REPL 时有效,而通常 CLJS 自动补全只会尝试建议在您编译的 CLJS 中实际工作的内容。 例如,您可能在与 REPL 连接的 JS 环境中的window上定义一些变量,但是当您的 ClojureScript 程序在另一个环境中运行时,该变量不一定会被定义。

是否可以完成内置函数和对象? 像js/document.querySelector等。

此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢您的贡献和理解!

@arichiardi这是您可以帮忙的吗?

这最终在 CIDER 0.22 中得到修复。 所有的功劳都归功于@rksm和他精彩的clj-suitable项目,CIDER 利用它来提供更好的完成。

此页面是否有帮助?
0 / 5 - 0 等级