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

LSP-julia

sublimelsp ST4

使用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

说明文件

源代码
raw.​githubusercontent.​com

LSP-julia

License

Sublime Text中的LSP客户端的插件,支持Julia语言服务器

要求与安装

以下需要安装:

  • Julia
  • 从Package Control安装Julia包
  • 从Package Control安装LSPLSP-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)文件的文件夹,其中包含具有 nameuuid 字段的 name

@testitem 具有独立的范围。要测试的包通过 using 语句隐式地加载。要访问未导出的符号,可以将它们导出或通过在前面加上模块名称来调用它们(例如 MyPackage.foo())。

如果您想完全禁用此功能,您可以在LSP-julia设置中关闭以下条目(在命令面板中选择首选项:LSP-julia 设置

{
  "initializationOptions": {
    "julialangTestItemIdentification": false
  }
}

Testitem preview

故障排除

我已经删除或清理了.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示例

错误:不支持语言“jsonc”
{
    "julia_executable_path": "C:\\Users\\<username>\\.julia\\juliaup\\julia-1.9.0+0.x64.w64.mingw32\\bin\\julia.exe",
}