LSP-metals
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
LSP-Metals
LSP-metals
是推荐的 Sublime LSP 扩展,用于 Metals,Scala 语言服务器。 LSP-metals
提供 Metals 的自动安装、易于配置、Metals 专用命令和许多其他小功能。
目录
需求
- 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。