有没有clojure IDE 可以帮助autocomplete Java 对象的方法?
Is there a clojure IDE can help autocomplete Java object method?
是否有 clojure IDE 可以帮助自动完成 Java 对象方法?
例如:
(def my-temp-file (java.io.File/createTempFile "filename" ".txt"))
那我要输入:
(.deleteOnExit my-temp-file)
我怎么能:
(.我的临时文件删除|"cursor here");;我怎样才能获得自动完成 del* 方法
或
(.delet|"cursor here" 我的临时文件) ;;我怎样才能获得自动完成 del* 方法
...
刚才试了一下intellij14.1.4 + cursive0.1.60,很不错
我尝试自动完成从 "delete" 到“deleteOnExist”
情况一,这样就可以了:
情况 2,这行不通:
如何在情况 2 中获得 "deleteOnExist" 自动完成功能?请帮助
Cursive Clojure,一个 IntelliJ 插件具有出色的 Java 互操作性,可以为您完成此操作。
既然你放了标签 emacs,你可以试试 cider
和 ac-cider
。但是,我发现这个组合在自动完成精度方面有点容易出错。建议的选项可以是来自其他 类.
的方法
您的示例的问题在于 def
不会根据其初始化程序的类型自动添加 :tag
元数据。你可以这样看:
Connecting to local IDE...
Clojure 1.7.0
(import java.io.File)
=> java.io.File
(def temp-file (File/createTempFile "filename" ".txt"))
=> #'user/temp-file
temp-file
=> #object[java.io.File 0x6c8b97fd "/var/folders/x1/9k18lcbn4qnfs4pptm0dm8fm0000gn/T/filename8344242261832815384.txt"]
(meta #'temp-file)
=> {:line 1, :column 1, :file "NO_SOURCE_PATH", :name temp-file, :ns #object[clojure.lang.Namespace 0x548b68c5 "user"]}
因此您的示例将适用于以下情况:
(let [temp-file (File/createTempFile "filename" ".txt")]
(temp-file .dele|))
其中 |
代表插入符号。如果您手动将标签添加到您的 def
,它也会起作用,例如:
(def ^File temp-file (File/createTempFile "filename" ".txt"))
是否有 clojure IDE 可以帮助自动完成 Java 对象方法?
例如:
(def my-temp-file (java.io.File/createTempFile "filename" ".txt"))
那我要输入:
(.deleteOnExit my-temp-file)
我怎么能:
(.我的临时文件删除|"cursor here");;我怎样才能获得自动完成 del* 方法
或
(.delet|"cursor here" 我的临时文件) ;;我怎样才能获得自动完成 del* 方法
...
刚才试了一下intellij14.1.4 + cursive0.1.60,很不错
我尝试自动完成从 "delete" 到“deleteOnExist”
情况一,这样就可以了:
情况 2,这行不通:
如何在情况 2 中获得 "deleteOnExist" 自动完成功能?请帮助
Cursive Clojure,一个 IntelliJ 插件具有出色的 Java 互操作性,可以为您完成此操作。
既然你放了标签 emacs,你可以试试 cider
和 ac-cider
。但是,我发现这个组合在自动完成精度方面有点容易出错。建议的选项可以是来自其他 类.
您的示例的问题在于 def
不会根据其初始化程序的类型自动添加 :tag
元数据。你可以这样看:
Connecting to local IDE...
Clojure 1.7.0
(import java.io.File)
=> java.io.File
(def temp-file (File/createTempFile "filename" ".txt"))
=> #'user/temp-file
temp-file
=> #object[java.io.File 0x6c8b97fd "/var/folders/x1/9k18lcbn4qnfs4pptm0dm8fm0000gn/T/filename8344242261832815384.txt"]
(meta #'temp-file)
=> {:line 1, :column 1, :file "NO_SOURCE_PATH", :name temp-file, :ns #object[clojure.lang.Namespace 0x548b68c5 "user"]}
因此您的示例将适用于以下情况:
(let [temp-file (File/createTempFile "filename" ".txt")]
(temp-file .dele|))
其中 |
代表插入符号。如果您手动将标签添加到您的 def
,它也会起作用,例如:
(def ^File temp-file (File/createTempFile "filename" ".txt"))