ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

LSP-metals

scalameta ST3

Sublime Text 适用于 Scala 语言服务器的 Metals

详细信息

安装次数

  • 总数 3K
  • Win 791
  • Mac 1K
  • Linux 785
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 1 0 2 0 4 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0
Mac 2 1 1 0 5 2 1 2 3 0 0 1 3 1 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 0 0 0 2 0 0 0 1 0 0 0 2 0 0
Linux 0 0 1 0 0 1 0 0 0 0 1 0 3 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 2 1 2 0 1 0 3 0

README

源代码
raw.​githubusercontent.​com

LSP-Metals

LSP-metals 是推荐的 Sublime LSP 扩展,用于 Metals,Scala 语言服务器。 LSP-metals 提供 Metals 的自动安装、易于配置、Metals 专用命令和许多其他小功能。

Discord

目录

需求

  • Sublime Text (build 4000 或更高版本)
  • LSP 软件包: 命令面板 (Cmd + Shift + P) > 安装软件包 > LSP
  • 由 OpenJDK 或 Oracle 提供的 Java 8 或 11。Eclipse OpenJ9 不受支持,请确保 JAVA_HOME 环境变量指向有效的 Java 8 或 11 安装。

安装 LSP-metals

您已安装 LSP 后,可以通过以下方式安装 Metals:

  • 自动通过软件包控件: 命令面板 (Cmd + Shift + P) > 安装软件包 > LSP-metals

  • 手动:在 sublime 软件包目录中运行 git clone https://github.com/scalameta/metals-sublime.git LSP-metals

导入构建

第一次在新工作区打开 Metals 时,它会提示您导入构建。点击“导入构建”以启动安装步骤。

  • “稍后”使此提示在 2 分钟内失效。
  • “不再显示”使此提示永久失效,使用 rm -rf .metals/ 重新启用提示。
  • 在命令面板中运行 lsp toggle server panel 以查看构建导入进度。您可以可选地为此命令添加快捷键。
  • 在幕后,Metals 使用 Bloop 导入 sbt 构建,但您不需要在您的机器上安装 Bloop 来运行此步骤。

导入步骤完成后,将开始对您打开的 *.scala 文件进行编译。

一旦源成功编译,您可以使用“转到定义”导航代码库。

加速导入

“导入构建”步骤可能需要很长时间,尤其是在新构建中第一次运行时。确切时间取决于构建的复杂性和是否需要下载库依赖项。例如,此步骤可能从小型缓存构建中的 10 秒到大型未缓存构建中的 10-15 分钟不等。

查阅 Bloop 文档 了解如何加快构建导入。

导入更改

当您更改 build.sbt 或 project/下的源时,您将收到提示重新导入构建。

配置

您可以通过在 sublime 调板中运行 LSP-metals Settings 或访问 Preferences > Package Settings > LSP > Servers > LSP-metals 来编辑包设置。

Java 版本

LSP-metals 插件默认使用 JAVA_HOME 环境变量(通过 environ)。否则,它使用 which 来定位 java 可执行文件。

如果没有检测到 JAVA_HOME,您可以按照显示的错误消息中的说明打开设置。

服务器版本

为了安装 metals 的最新快照,您可以显式设置 server_version 的快照版本。或者,您也可以将 server_version 设置为 latest-snapshot 以默认设置为最新快照。对于最新稳定版,可以将值设置为 latest-stable,如果没有设置版本,它默认为最新稳定版。

每次 sublime 文本启动时都会进行新版本的检查。

工作区诊断

要查看工作空间中的所有编译错误和警告,请运行以下命令 Toggle Diagnostics Panel。或者使用默认映射 super+shift+M / ctr+alt+M

要切换诊断,请使用默认映射 Next F4 / Previous shift+F4

运行 doctor

要诊断构建工作空间中的问题,请在命令面板中运行 Doctor run。此命令将打开浏览器窗口。

所有可用命令

以下命令可以通过 sublime 命令面板直接调用。

显示文档符号

运行 Document Symbols 命令以显示当前文件的符号大纲。您还可以为 lsp_document_symbols 命令设置密钥绑定。

保存时格式化

如果您希望在文档保存时让 LSP-metals 格式化您的文件,请确保将此设置添加到您的 Sublime 设置、特定于语法的设置和/或在项目文件中。

"lsp_format_on_save": true,
...

保存时组织导入

如果您希望在文档保存时让 LSP-metals 组织您的导入,请确保将此添加到您的 LSP 设置中。

"lsp_code_actions_on_save":{
  "source.organizeImports": true
},
...

装饰协议

此插件实现了 装饰协议(仅适用于 ST4),这使得可以显示工作表评估(而不是注释),以及推断类型和其他信息作为 Sublime Phantom。

要启用此功能,请启用以下 LSP-metals 设置

"settings": {
  "metals": {
    ...
    "showInferredType": true,
    "showImplicitArguments": true,
    "showImplicitConversionsAndClasses": true
  }
}

状态栏

有关工作空间构建的信息,如编译错误计数、构建状态等,由 Metals 在 sublime 状态栏中显示。

故障排除

如果您对 LSP-metals 有任何问题或问题,请在与此扩展相关的 repository 中提交 问题

如果问题是通用于 Metals 的,请在 Metals 问题 repository 中提交。

如果您有任何功能请求,我们还有一个功能请求 问题 repository