Есть ли более простой способ использовать ОБА clj + cl js REPL одновременно с emacs / cider? - PullRequest
1 голос
/ 17 апреля 2020

Как новичок клочурианец, мне может понадобиться помощь, чтобы понять, есть ли способ решить мои болевые точки работы с Cider REPL.

Контекст: у меня есть приложение с полным стеком (limunius на бэкэнде) + реагент / фиговое колесо на интерфейсе). Я запускаю сервер из emacs / Cider Repl и могу получить доступ ко всем пространствам имен работающего сервера из этого REPL (что очень удобно).

В другой вкладке я запускаю:

lein figwheel
Figwheel: Cutting some fruit, just a sec ...
Figwheel: Validating the configuration found in project.clj
Figwheel: Configuration Valid ;)
Figwheel: Starting server at http://0.0.0.0:3449
Figwheel: Watching build - app
Compiling build :app to "target/cljsbuild/public/js/app.js" from ["src/cljs" "src/cljc" "env/dev/cljs"]...
Successfully compiled build :app to "target/cljsbuild/public/js/app.js" in 4.113 seconds.
Figwheel: Starting CSS Watcher for paths  ["resources/public/css"]
Figwheel: Starting nREPL server on port: 7002
Launching ClojureScript REPL for build: app

Все пространства имен cl js доступны из этой вкладки REPL / колеса, но она не связана с Cider / emacs, поэтому я могу только копировать и вставлять туда.

Есть ли простой способ иметь оба REPL в emacs и быстро переключаться между ними?

Или каков ваш типичный рабочий процесс? Используете ли вы бэкэнд и веб-интерфейс REPL, но не одновременно? Извините, я только учусь, поэтому мне нужны оба:)

Ответы [ 2 ]

2 голосов
/ 18 апреля 2020

Конечно, вы можете! Сначала подключитесь к repl через cider-connect-clj, который был открыт на порту 7002 (Figwheel: Starting nREPL server on port: 7002), затем запустите (figwheel-sidecar.repl-api/cljs-repl) в появившемся мини-буфере repl. Тогда у вас будет полнофункциональный cl js repl, работающий вместе с clj repl - вы можете переключаться между ними с помощью cider-switch-to-repl-buffer (вы попадете в clj repl в файле clj и в cl js repl в cl js файл)

1 голос
/ 18 апреля 2020

Определенно вы можете подключиться к CLJ и CL JS одновременно с помощью CIDER. Проверьте раздел Управление соединениями из документации CIDER. TL; DR : вы можете использовать C-c C-x c m для вызова cider-connect-clj&cljs.

Как говорится, для CL JS в общем я ленив и оставляю figwheel для перекомпиляции при сохранении, и я проверяю, выглядит ли внешний интерфейс как то, что я пытаюсь сделать.

Редактировать : Обычно у меня две вертикальные рамки, код слева и REPL на верно, большую часть времени оценивают выражения, встроенные в C-c C-e, и если мне нужно что-то, что охватывает несколько строк, я пишу это в блоке (comment ,,,) в конце пространства имен. Я не использую C-C C-z для частого переключения между кодом и REPL.

Также: я использую стандартный Emacs 25 в Ubuntu 18.04 с минимальной настройкой, но я встречал людей, которые используют гораздо более сложные рабочие процессы, использующие Spacemacs.

...