问题标签 [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.

0 投票
2 回答
1334 浏览

node.js - 如何将 ClojureScript 节点 REPL 连接到我的 :node-library shadow-cljs 项目?

语境

我正在使用 ClojureScript 和shadow-cljs构建一个 Node.js 库。
所有开发都是使用 ClojureScript 完成的,但构建工件是一个 NPM 包。例子:

构建...发布...然后

注意:我最近在这篇文章中提供了我的构建设置的详细信息。

我的整个开发环境都在一个 Docker 容器中,并且我正在使用“Visual Studio Code Remote - Container”扩展。

问题”

我的构建设置工作正常(至少我是这么认为的!)但我想实现更快的开发反馈周期。
换句话说:我不想重建整个 NPM 包只是为了测试几行更改。

完美世界 又名“问题”

在一个完美的世界里,我应该能够打开一个 REPL 并能够随时评估我的 ClojureScript 代码。

无论我如何尝试到达那里,我似乎都被同样的潜在问题所阻止:

没有应用程序连接到 REPL 服务器。确保您的 JS 环境已加载您编译的 ClojureScript 代码。

我试过的

  1. 只有shadow-cljs

    给定以下shadow-cljs.edn文件:

    第一次观看:

    然后在另一个终端:(注意错误信息)

    /li>
  2. 使用 VS Code卡尔瓦

    给定与上面相同的shadow-cljs.edn文件:

    在此处输入图像描述

    当我尝试手动加载命名空间时Calva: Load current namespace in REPL window,我得到了同样的错误:

    没有应用程序连接到 REPL 服务器。确保您的 JS 环境已加载您编译的 ClojureScript 代码。

问题:我如何到达那个完美的世界?

0 投票
1 回答
1670 浏览

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 文件。

0 投票
1 回答
79 浏览

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

0 投票
1 回答
122 浏览

visual-studio - 从一个窗口切换到另一个窗口时,VisualStudio Code 中的 Clojure Calva 会丢失语法颜色

当我从一个窗口切换到另一个窗口时,我离开的窗口失去了括号和方括号的颜色,所有内容都保留为白色字母。

我必须返回上一个窗口才能恢复颜色。我最近更新到版本 1.48.1,但它开始发生在以前的更新中。欢迎任何帮助。谢谢!!

0 投票
1 回答
107 浏览

debugging - Clojure:捕获函数 arg 的运行时值,以在 REPL 中使用

问题

我的 Web 前端调用具有复杂参数的后端查询。在开发过程中,为了避免耗时的手动复制这些参数,我想在 Vars 中捕获它们的值,这可以在 REPL 中使用。

研究

本文表明内联def是一个合适的解决方案,但我无法使其工作。来自前端的调用发生后,Var 仍然未绑定。

我通过 VS Code + Calva 使用 REPL 启动了后端,代码如下:

这是 REPL 中 Var 的评估:

问题

为什么上面的代码没有将参数的值绑定到 Var?还有其他解决方案吗?

0 投票
0 回答
64 浏览

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 连接序列?

0 投票
1 回答
33 浏览

vscode-calva - Calva 无法启动 betterthantomorrow.calva-2.0.214\clojure-lsp.exe_backup.exe

从今天开始,卡尔瓦失败了

我已更新到 Visual Studio Code 2021 年 9 月版(1.61 版):

有人知道我该如何解决这个问题吗?

0 投票
2 回答
80 浏览

clojure - calva - 如何停止repl?

我在 Ubuntu 上使用带有 calva 的 vs 代码。我的 clojure 应用程序侦听一个端口,我发现如果我退出 vs 代码,它会留下一个绑定到该端口的 java 进程,我必须找到并杀死该端口,然后才能重新开始。

是否有任何 calva 命令来停止 repl?,或者更好的是,当我退出 vs 代码时自动停止 repl 的方法?