Инструмент портала Clojure: Средство просмотра исключений и другие пользовательские средства просмотра отсутствуют

#clojure #portal

Вопрос:

Я могу запустить портал и проверить значения, как и ожидалось. Но мой инструмент портала не включает средства просмотра, такие как просмотр исключений или просмотр классов, в отличие от демонстрационного видео.

Я проверил исходный код портала и файл распространения jar. Исходный код содержит пространство имен, называемое portal.ui.viewer . Это пространство имен отсутствует в дистрибутиве jar портала. Включены ли эти средства просмотра в какой-либо другой файл jar? Как я могу нанять этих зрителей?

У моего deps.edn есть следующий псевдоним

 :inspect/portal-cli
{:extra-deps {djblue/portal {:mvn/version "0.15.1"}
                            cheshire/cheshire {:mvn/version "5.10.0"} ; json
                            clj-commons/clj-yaml {:mvn/version "0.7.0"} ; yaml
                            ,}}
 

Я запускаю портал с помощью:

 clojure -M:inspect/portal-cli
 

Мой пользователь.clj включает в себя:

 (ns user
    (:require [portal.api :as p]))
(def portal (p/open))
(p/tap)
 

После запуска repl я выполняю следующие команды:

     (tap> {::exception (try (/ 1 0) (catch Exception e e))})
 

Вот результаты:

портал 01

портал 02

портал 03

Согласно демонстрационному видео, я должен видеть portal.viewer/ex в качестве опции просмотра. Тогда трассировка стека будет указана в правильном формате, как здесь:

введите описание изображения здесь

Ответ №1:

Средство просмотра доступно, но сначала необходимо ввести данные об исключении. Портал используется для автоматического определения значений данных, но такое поведение было проблематичным, когда я хотел получить доступ к исходному объекту. Вы можете ввести любое выбранное значение в пользовательском интерфейсе портала с помощью палитры команд (cmd shift p или ctrl j).