2016-09-17 2 views
1

Je développe un programme Clojure à partir d'un REPL en Cursive. Je voudrais voir des traces de pile avec les messages d'erreur. Par défaut, il semble que seul le message d'erreur est généré. Si je modifie les configurations, je peux voir que le REPL est un 'Clojure REPL' et que 'Utiliser clojure.main dans un processus JVM normal' est spécifié. Je crois que c'est une configuration REPL assez standard avec Cursive.Voir les traces de pile dans Cursive REPL

Tous les fichiers sources de clojure se trouvent dans l'espace de noms user et le fichier projet lein project.clj n'a rien de spécial.

Actuellement, si je veux voir une trace de la pile Je dois exécuter le programme comme celui-ci:

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

Ici (x) est en cours d'exécution du programme qui plante. Ces étapes fonctionnent à la fois sur la ligne de commande (commençant par lein repl) et depuis Cursive REPL.

Y a-t-il des étapes de configuration que je peux faire pour que les traces de pile soient toujours affichées avec des messages d'erreur et donc (use 'clojure.stacktrace) et (print-stack-trace *e 30) deviennent superflus?

Répondre

0

Vous pouvez ajouter un clavier à l'option de menu "Imprimer la dernière exception". Ouvrez les paramètres avec ⌘, puis accédez au Keymap > Main Menu > Tools > REPL. Double-cliquez sur "Imprimer la dernière exception" et choisissez un raccourci. my settings

+0

Je n'ai pas de touche '⌘' sur mon clavier. –

+0

Dans Windows c'est 'Ctrl + Alt + S', sinon jetez un oeil à [link] (https://www.jetbrains.com/help/idea/accessing-settings.html?keymap=primary_default) – Pankov

+0

Aussi' Ctrl + Alt + S' pour Linux, donc la même clé pour tous les claviers non-Appleverse. J'ai déjà '' (print-stack-trace * e 25) 'sous la forme d'une commande REPL/Add/REPL/Add, mais je suis passé à votre méthode et j'ai trouvé que la séquence de touches ne faisait plus rien. Donc j'ai dû revenir en arrière. –