LSP-julia
使用LanguageServer.jl对Sublime的LSP插件提供的Julia语言支持
详细信息
安装
- 总量 2K
- Win 665
- Mac 520
- Linux 537
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 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 0 | 0 | 1 | 3 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
Mac | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 3 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 1 | 0 | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
说明文件
LSP-julia
Sublime Text中的LSP客户端的插件,支持Julia语言服务器。
要求与安装
以下需要安装:
- Julia
- 从Package Control安装Julia包
- 从Package Control安装LSP和LSP-julia包
- 可选从Package Control安装Terminus包以提供基本的Julia REPL集成和通过快捷键运行代码块的功能
[!NOTE] 如果julia可执行文件不在您的PATH中,您需要在LSP-julia包设置中提供可执行文件的完整路径。
在安装LSP-julia后首次打开Julia文件,语言服务器将自动与Julia包管理器一起安装。这可能需要几分钟。
功能
Julia语言服务器支持大多数标准LSP功能,如自动完成、悬停文档、转到定义和诊断(检查)。
[!IMPORTANT] 大多数功能需要在Sublime Text中打开一个文件夹才能工作,在单文件模式中不能工作。
LSP-julia提供了一些额外的命令,这些命令可以通过命令输入栏获取
命令标签 | 键盘快捷键 | 描述 |
---|---|---|
LSP-julia: 更改当前环境 | none | 选择您正在使用的 Julia 项目环境。此环境中的包被语言服务器用来提供自动补全建议以及进行诊断/代码检查。由于包的数量可能较多,在切换到不同环境后,服务器进行包索引过程可能需要一些时间。 |
LSP-julia:文档 | none | 搜索 Julia 文档[1],并在选项卡中打开结果。您也可以在 Julia 文件中右键点击一个单词,从上下文菜单中选择“显示文档”来打开相应的文档页面。 |
LSP-julia:在面板中打开 Julia REPL[2] | none | 打开一个 Julia REPL,其启动目录为活动文件的目录,或者如果是已运行的状态,则将其聚焦。 |
LSP-julia:在选项卡中打开 Julia REPL[2] | none | 与上述相同,但使用普通选项卡而非底部面板来显示 REPL。 |
LSP-julia:选择代码块 | none | 选择当前光标位置处的函数或代码块。对于多个活跃光标,只考虑顶部光标位置。 |
LSP-julia:运行代码块[2] | Alt+Enter | 如果选中了文本,则在 Julia REPL 中运行它。否则,运行包含当前光标位置的代码块并将光标移动到下一个块。 |
LSP-julia:运行代码单元格[2] | Alt+Shift+Enter | 如果选中了文本,则在 Julia REPL 中运行它。否则,运行包含当前光标位置的代码单元格,并将光标移动到下一个单元格。代码单元格由位于行首的特殊格式注释指示:## 、#%% 或 # %% 。 |
LSP-julia:运行测试项 | none | 显示一个快速面板,显示 Julia 文件中所有可用的 @testitem (见下文描述)。 |
[1]: 文档页面是由 Julia 基础、标准库和 Julia 包中的 docstrings 动态生成的,而不是来自 Julia 网站的官方文档。[2]: 只有当您已安装 Terminus 包时才可用。
要添加或调整命令的关键绑定,请从命令面板运行 首选项:键绑定 并修改右侧的用户文件。有关示例,请参阅此存储库中的 Default.sublime-keymap 文件,以及此包中的命令名称请参阅 LSP-julia.sublime-commands。
运行单个测试项
LSP-julia 具有由编辑器 UI 直接从 Julia 包运行单个测试集的特殊功能。
为此,测试必须在 @testitem
块内,这基本上是 @testset
的替代品。请参阅下方的截图示例或阅读https://github.com/julia-vscode/TestItemRunner.jl#writing-tests 的详细描述。
可以通过在编辑器的右侧上方显示的“运行测试”链接或通过命令面板中的“LSP-julia:运行测试项”命令来执行 @testitem
。测试失败和错误将显示为在代码中发生它们的位置的注释。当前尚未实现取消正在运行的 @testitem
,因此请确保测试在有限的时间内完成,或者在您意外添加无限循环的情况下,手动从任务管理器关闭潜在的 Julia 进程。
[!注意]
@testitem
功能仅在项目环境中可用,即您必须在侧边栏中打开一个包含 Project.toml(或 JuliaProject.toml)文件的文件夹,其中包含具有name
和uuid
字段的name
。
@testitem
具有独立的范围。要测试的包通过using
语句隐式地加载。要访问未导出的符号,可以将它们导出或通过在前面加上模块名称来调用它们(例如MyPackage.foo()
)。
如果您想完全禁用此功能,您可以在LSP-julia设置中关闭以下条目(在命令面板中选择首选项:LSP-julia 设置)
{
"initializationOptions": {
"julialangTestItemIdentification": false
}
}
故障排除
我已经删除或清理了.julia
目录。现在语言服务器无法启动了。
请删除以下位置的LSP-julia
文件夹:* 在Windows上:%LocalAppData%/Sublime Text/Package Storage/LSP-julia
* 在Linux上:~/.cache/sublime-text/Package Storage/LSP-julia
* 在macOS上:~/Library/Application Support/Sublime Text/Package Storage/LSP-julia
然后重新启动Sublime Text并打开一个Julia文件以重新安装语言服务器。
如果Julia是通过juliaup安装的,则嵌入的Julia REPL无法启动。
这可能是使用Terminus包进行symlink解析时Python 3.3 API环境的一个错误/限制。
作为一个解决方案,您可以在LSP-julia设置中手动指定Julia可执行文件的完整路径(不带symlink)(在命令面板中选择首选项:LSP-julia 设置)。以下是一个Windows示例
{
"julia_executable_path": "C:\\Users\\<username>\\.julia\\juliaup\\julia-1.9.0+0.x64.w64.mingw32\\bin\\julia.exe",
}