2016-09-17 135 views
1

我正在从草案中的REPL开发一个Clojure程序。我希望看到带有错误消息的堆栈跟踪。默认情况下,似乎只输出错误消息。在Cursive REPL中查看堆栈轨迹

如果我编辑配置...我可以看到REPL是'Clojure REPL',并且'在正常的JVM进程中使用clojure.main'被指定。我相信这是一个与Cursive相当标准的REPL设置。

所有clojure源文件都位于user命名空间中,并且没有什么特别的关于lein项目文件的project.clj

目前,如果我想看到一个堆栈跟踪,我需要运行的程序是这样的:

(use 'clojure.stacktrace) 
(x) 
(print-stack-trace *e 30) 

这里(x)正在运行崩溃的程序。这些步骤可以从命令行(从lein repl开始)和Cursive REPL中工作。

是否有一些设置步骤可以使堆栈跟踪总是显示错误消息,因此(use 'clojure.stacktrace)(print-stack-trace *e 30)变得多余?

回答

0

您可以添加一个键盘映射到“Print last exception”菜单项。 用⌘,打开设置,然后访问Keymap > Main Menu > Tools > REPL。 双击“打印上次例外”并选择一个快捷方式。 my settings

+0

我的键盘上没有“⌘”键。 –

+0

在Windows中它是'Ctrl + Alt + S',否则看看[link](https://www.jetbrains.com/help/idea/accessing-settings.html?keymap=primary_default) – Pankov

+0

另外'Ctrl +用于Linux的Alt + S',所有非Appleverse键盘都使用相同的密钥。我已经将'(print-stack-trace * e 25)'作为Tools/REPL/Add新的REPL命令,但切换到了您的方法,并且发现击键现在什么也没做。所以我不得不转回来。 –