问题标签 [vscode-calva]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何将 ClojureScript 节点 REPL 连接到我的 :node-library shadow-cljs 项目?
语境
我正在使用 ClojureScript 和shadow-cljs构建一个 Node.js 库。
所有开发都是使用 ClojureScript 完成的,但构建工件是一个 NPM 包。例子:
构建...发布...然后
注意:我最近在这篇文章中提供了我的构建设置的详细信息。
我的整个开发环境都在一个 Docker 容器中,并且我正在使用“Visual Studio Code Remote - Container”扩展。
- ClojureScript v1.10
- 节点.js v12
- shadow-cljs v2.8.55
- Visual Studio Code Calva扩展(在VS Code 远程容器中运行)
问题”
我的构建设置工作正常(至少我是这么认为的!)但我想实现更快的开发反馈周期。
换句话说:我不想重建整个 NPM 包只是为了测试几行更改。
完美世界 又名“问题”
在一个完美的世界里,我应该能够打开一个 REPL 并能够随时评估我的 ClojureScript 代码。
无论我如何尝试到达那里,我似乎都被同样的潜在问题所阻止:
没有应用程序连接到 REPL 服务器。确保您的 JS 环境已加载您编译的 ClojureScript 代码。
我试过的
只有
shadow-cljs
:给定以下
shadow-cljs.edn
文件:第一次观看:
然后在另一个终端:(注意错误信息)
/li>使用 VS Code卡尔瓦:
给定与上面相同的
shadow-cljs.edn
文件:当我尝试手动加载命名空间时
Calva: Load current namespace in REPL window
,我得到了同样的错误:没有应用程序连接到 REPL 服务器。确保您的 JS 环境已加载您编译的 ClojureScript 代码。
问题:我如何到达那个完美的世界?
clojure - 使用 hugSQL def-db-fns 宏时如何使用 clj-kond 避免未解析的符号?
我使用 VS Code Calva扩展编写 Clojure ,它使用clj-kondo对我的代码执行静态分析。
我正在使用HugSQL从 SQL 查询和语句创建 Clojure 函数。
我知道我可以处理数据库连接和 HugSQL 与conman之类的库的集成,事实上我过去使用过它并且我喜欢它,但这次我想保持原样并自己与 HugSQL 交谈。
HugSQL 的def-db-fns
宏接受一个 SQL 文件并根据该文件中包含的 SQL 查询和语句创建 Clojure 函数。
我下面的代码有效,但 clj-kondo 抱怨这seed-mytable!
是一个未解决的符号。
我理解为什么 clj-kondo 抱怨:seed-mytable!
没有在任何地方定义,它在调用def-db-fns
宏时被“注入”到这个命名空间中。
有没有办法告诉 clj-kondo 在调用hugsql/def-db-fns
宏之后符号确实存在?
可能它没那么有用,但这是我用 HugSQL 加载的 SQL 文件。
visual-studio-code - 如何指向 calva/clj-kondo 在子存储库中找到配置文件,而不是在根目录?前:/frontend/.clj-kondo/.config
我正在使用 monorepo 结构,所以我不希望它在根目录中,就像文档想要的那样。那么我怎样才能告诉 calva / clj-kondo 在哪里可以找到这个配置文件呢?
https://github.com/borkdude/clj-kondo/blob/master/doc/editor-integration.md
visual-studio - 从一个窗口切换到另一个窗口时,VisualStudio Code 中的 Clojure Calva 会丢失语法颜色
当我从一个窗口切换到另一个窗口时,我离开的窗口失去了括号和方括号的颜色,所有内容都保留为白色字母。
我必须返回上一个窗口才能恢复颜色。我最近更新到版本 1.48.1,但它开始发生在以前的更新中。欢迎任何帮助。谢谢!!
debugging - Clojure:捕获函数 arg 的运行时值,以在 REPL 中使用
问题
我的 Web 前端调用具有复杂参数的后端查询。在开发过程中,为了避免耗时的手动复制这些参数,我想在 Vars 中捕获它们的值,这可以在 REPL 中使用。
研究
本文表明内联def是一个合适的解决方案,但我无法使其工作。来自前端的调用发生后,Var 仍然未绑定。
我通过 VS Code + Calva 使用 REPL 启动了后端,代码如下:
这是 REPL 中 Var 的评估:
问题
为什么上面的代码没有将参数的值绑定到 Var?还有其他解决方案吗?
clojure - 一起使用 Calva / Reveal 时出现问题
我使用 Vscode + Calva 开发 Clojure。我观看了这个并尝试将 Reveal 与 Calva 一起使用。
我看到了这个并将cider.nrepl/cider-middleware添加到中间件。
(我正在使用它 deps.edn
,只是添加cider/cider-nrepl {:mvn/version "0.26.0"}
和cider.nrepl/cider-middleware
.doc 仅提及cider.nrepl/cider-middleware
,但在我的环境中,没有cider/cider-nrepl {:mvn/version "0.26.0"}
出错。它说类路径中没有苹果酒)
这是我的 deps.edn。
当我运行时clojure -M:repl/reveal-light-nrepl
,Reveal 工作正常。
现在我想在我的 Calva 项目中使用它。
我的意思是,clojure -M:repl/reveal-light-nrepl
只是独立的。没有项目集成。
我应该怎么办?
我认为这可能会有所帮助。
但我不知道这意味着什么。(我是 Clojure 新手。)我知道如何插入。但我看到的只是选择构建选项。我没有看到reveal-nrepl-middleware。
也许我应该看看自定义 REPL 连接序列?
vscode-calva - Calva 无法启动 betterthantomorrow.calva-2.0.214\clojure-lsp.exe_backup.exe
从今天开始,卡尔瓦失败了
我已更新到 Visual Studio Code 2021 年 9 月版(1.61 版):
有人知道我该如何解决这个问题吗?
clojure - calva - 如何停止repl?
我在 Ubuntu 上使用带有 calva 的 vs 代码。我的 clojure 应用程序侦听一个端口,我发现如果我退出 vs 代码,它会留下一个绑定到该端口的 java 进程,我必须找到并杀死该端口,然后才能重新开始。
是否有任何 calva 命令来停止 repl?,或者更好的是,当我退出 vs 代码时自动停止 repl 的方法?