2

此 CIDER 功能似乎仅在执行 cider-jack-in 后才有效:

米-。跳转到符号的定义。如果使用前缀参数调用,或者在该点找不到符号,则提示输入符号。

当我打开一个新的 clj 文件时,它只是说 cider[not connected]M-.组合键给了我Wrong type argument: stringp, nil

是否可以在不启动和连接到 REPL 的情况下使用此功能?有没有其他方法可以在不使用 CIDER 的情况下获得相同的行为?

4

1 回答 1

2

CIDER 没有这种能力,因为它使用附加到 vars 的元数据来执行符号定义的查找:

> (defn x [] 0)
#'user/x
> (meta #'x)
{... :line <line_nuber>, :file <file_path> ...}

显然,要附加元数据,您需要启动 REPL 并评估符号定义。

如果没有 REPL,您可以尝试使用rgrep(将光标放在所需符号上之后):

M-x rgrep <RET>

但是,这只是文本搜索。它将为您提供指定目录中所有出现的符号(也没有命名空间解析)。

于 2016-05-15T09:48:49.740 回答