#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))})
Вот результаты:
Согласно демонстрационному видео, я должен видеть portal.viewer/ex
в качестве опции просмотра. Тогда трассировка стека будет указана в правильном формате, как здесь:
Ответ №1:
Средство просмотра доступно, но сначала необходимо ввести данные об исключении. Портал используется для автоматического определения значений данных, но такое поведение было проблематичным, когда я хотел получить доступ к исходному объекту. Вы можете ввести любое выбранное значение в пользовательском интерфейсе портала с помощью палитры команд (cmd shift p или ctrl j).