问题标签 [scala-metals]

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 投票
1 回答
3812 浏览

scala - 如何在scala程序中的vs代码中设置断点

我想用 vscode 调试我的 scala 应用程序。

我的 gradle 运行任务看起来很简单:

启动条目:

现在,当我启动调试器时,它会等待 vscode 客户端。但是我无法在 vscode 中设置任何断点来停止调试器。现在它运行到最后,在 vscode 连接之后。

我正在使用Scalaand Scala Language Server

有人知道如何添加断点吗?

0 投票
1 回答
873 浏览

scala - Visual Studio Code:如何导入 `sbt`-changes

在添加另一个依赖项后build.sbt- 我如何导入sbt-changes?

使用命令重新加载窗口它可以工作,但它会重新加载所有内容(如bloob)。

有没有办法只导入sbt-changes?

0 投票
1 回答
820 浏览

scala - VSCode 金属,在 scalatest 中运行特定的十个

有没有办法在 vscode 中使用 metal scala 插件,运行特定的测试场景?就像在 IntelliJ 中一样?

0 投票
1 回答
671 浏览

visual-studio-code - VS Code 和 Metals:运行“构建导入”以启用代码导航

我有一个不想导入VSCode的Scala - / Mill -Project 。

金属医生给了我以下警告:

金属博士形象

我的项目中是否缺少某些内容?

这是我的Mill配置(build.sc):

这是整个项目:https ://github.com/pme123/zio-examples

控制台输出没有显示任何警告,这里是结尾:

0 投票
2 回答
10698 浏览

scala - 如何使用 VS Code 和 Metals 运行现有的 Scala 项目?

我是 Scala 的新手,我发现Scala IDE在我的机器上对于搜索代码库和编辑代码等基本操作非常慢。我习惯了 Visual Studio Code,很高兴找到这个金属扩展

我能够“导入构建”并解决问题,例如在我的项目中提高 scala 版本,但我不确定如何重现此步骤以设置运行配置并在 Scala IDE 中实际启动我们的应用程序。

在此处输入图像描述 在此处输入图像描述

我们有一个父文件夹,其中包含一堆项目和一个“consoleapp”项目,这是我们应用程序的主要入口点 - 它导入所有其他项目的逻辑/路由。

我尝试sbt runsbt runMain consoleapp从 consoleapp 文件夹和父文件夹中,但它们没有工作。

我不确定我们设置中的哪些其他信息是相关的 - 很高兴根据需要提供更多信息。

更新以在下面添加更多详细信息:

控制台应用程序/build.sbt

我运行的命令的输出 -sbt runsbt runMain

从 ~/scala/parent 运行

从 ~/scala/parent 运行

从 ~/scala/parent/consoleapp 运行

从 ~/scala/parent/consoleapp 运行

0 投票
0 回答
197 浏览

scala - Symbol 作为变量的值是 void:lsp-server-install-dir

我一直在尝试为 spacemacs 设置 Scala 层和 Metals 后端。我对 spacemacs 比较陌生,对 Scala 完全陌生。很快就出现了一些我不知道如何将它们连接到 Scala 层的问题。首先,尽管我当时没有安装 java 层,但我收到一条错误消息,提示“package eldoc not initialized in layer java”。我设法通过安装java层然后在layers/+lang/java/packages.el的文件中删除一行说“eldoc”的行来解决这个问题。

之后出现了另一个问题,我仍然没有设法解决,即现在我在打开 spacemacs 时收到以下消息:

我在谷歌上搜索了有关此错误的所有内容,发现绝对没有其他关于此类问题的报告,也没有任何接近解决方案的报告。我尝试尝试禁用 .spacemacs 中的某些层,并在问题出现之前注释掉我添加的行,但没有任何变化,甚至出现更多错误和警告。

我不确定这是否以任何方式连接,但在几个月前尝试将 Haskell IDE 引擎安装到 spacemacs 后,我收到了一个警告,每当我启动 spacemacs 时它仍然出现,说:

这第二个问题似乎是无害的,所以几天后我放弃了尝试解决它并一直正常使用spacemacs直到现在。然而,这个关于 lsp-server-install-dir 的新错误似乎更加紧急,spacemacs 在底部显示一条红线,表示它可能无法正常工作。

0 投票
0 回答
1053 浏览

scala - 使用 VsCode 远程调试 Scala Spark 作业

我希望能够远程调试用 Scala 编写的 Spark 作业,该作业在带有 VsCode 的 docker 容器中运行。这是我目前所拥有的

  1. 安装了scala-metals v0.8 的VsCode
  2. 调试启动配置
  3. 我用docker-compose up启动了一个 spark 集群
  4. 我使用以下命令向上面启动的集群提交了一个 spark 作业

这样做后,我看到了输出Listening for transport dt_socket at address: 4000

  1. 我尝试从 VsCode 启动调试器,但出现错误。

代码的完整细节在这里https://github.com/aedenj/spark-job-starter/tree/vscode-debug-setup。感谢您的指导。

0 投票
2 回答
436 浏览

scala - VSCode metal scala,集成测试文件夹看不到类

在文件夹中,module/src/it我有我的集成测试,配置了 sbt,如下所示:

https://www.scala-sbt.org/1.x/docs/Testing.html#Integration+Tests

但是带有金属的 VSCode 告诉我看不到这些类,一切都可以用 sbt 编译。我能用它做什么?谢谢!

编辑:其余的测试,主要代码等在 vscode 中工作正常,唯一的问题是it测试文件夹

0 投票
1 回答
378 浏览

scala - Sbt 从 src/main/scala 而不是 src/test/scala 运行测试?

假设我在 main/scala 中有一个 scalatest 类,比如

如何使用 sbt 运行它?

我试过了sbt test,他们都有像这样的输出sbt testOnlysbt "testOnly *q3"

几年前的一个类似问题说他们成功使用了testOnly,但我无法让它工作。

VSCode 上的金属扩展在文件打开时显示一个“测试”链接,该链接成功运行测试,但没有显示它是如何做到的。我想知道如何通过 sbt 做到这一点。

0 投票
1 回答
883 浏览

java - VS Code 知道 Scala 和 Java,但无法连接它们

我正在尝试将ScalaJava进行互操作,并设法创建了一个基于Maven的项目(此处为存储库),该项目可以从命令行(mvn clean package)很好地编译。

但是,我一直遇到我的 IDE(VS Code)根本不理解互操作的问题。

问题

该文件AccessScala.java正在尝试访问WithinModule.scala.

VS Code 提出了三个问题:

  1. 导入me.parent.jModule.WithinModule无法解决:AccessScala[3,8]
  2. WithinModule无法解析为类型:AccessScala [7,9]
  3. WithinModule无法解析为类型:AccessScala [7,35]

项目设置

该项目有两个模块,但现在只有jModule相关的。它在不同的文件夹中包含JavaScala代码。sModule包含一些我也想访问的Scala代码,但我当前的问题与Maven模块以及理解Scala - Java连接的 VS Code 无关。

VS 代码

我正在使用Java 扩展包Scala-Metals和 Scala 语法

对于JavaScala,它都会检测错误等,因此它知道 Scala 就在那里。

问题

为什么 VS Code 会抱怨,我能做些什么来完成这项工作?有没有办法,或者我只需要使用 IntelliJ(我还有其他问题,请继续关注这些问题;)