新的介绍内容:
Magic Racket是为VS Code开发的Racket扩展,旨在提供最佳的Racket编程体验。通过支持语言服务器协议(LSP),Magic Racket能够为用户提供包括跳转定义、悬停信息、代码格式化等高级功能,使其成为VS Code中最强大的Racket扩展。
安装Magic Racket:从VS Code扩展市场或Open VSX Registry(如果使用VS Codium)安装。
确保raco在您的路径中:请查看故障排除部分。
安装racket-langserver:在终端中运行以下命令:
raco pkg install racket-langserver
或更新它:
raco pkg update racket-langserver
如果您不想使用语言服务器,可以在配置文件中设置"magicRacket.languageServer.enabled": false
。但请注意,这样做将无法使用自动完成、格式化等“智能”功能。
在WSL或无头Linux服务器上运行VSCode:请查看下面的故障排除部分。
Magic Racket提供了以下功能:
同时,Magic Racket不会:
Magic Racket现已支持racket-langserver,当前功能包括:
我们正在努力提供更多详细信息,请持续关注!
下图展示了使用流行Racket VS Code扩展(左图)和Magic Racket(右图)对测试文件进行高亮的对比。
如图所示,Magic Racket力求正确和一致,并支持大多数语言功能。在许多方面,该扩展受到了DrRacket高亮的启发,但在某些方面,它旨在不那么简约。
您可以通过编辑器右上角的图标或VS Code的命令控制台加载和执行文件。按Cmd Shift P(Linux或Windows上为Ctrl Shift P)打开所有命令列表,然后通过输入搜索。Magic Racket的所有命令都以Racket:为前缀,以便更容易搜索。
在Magic Racket中,每个文件都有自己的REPL,每次使用Racket: Load file in REPL命令时都会加载。您可以选择为Racket: Run file in terminal也模拟此行为,或者在单一输出终端中运行所有文件。
Magic Racket添加的命令列表:
您可以在设置中设置REPL和输出终端的名称。
这些功能虽然不是革命性的,但确实有助于提高体验:
Magic Racket的选项可以在VSCode首选项中的Magic Racket部分找到。
如果您想仅为Racket更改某些VSCode选项(例如,如果您不喜欢预定义的编辑器标尺),可以通过在settings.json中直接添加到[racket]部分来实现:
"[racket]": {
"editor.rulers": [],
// 一些进一步的Racket特定配置
}
如果您在Windows上使用Magic Racket,尤其是Docker或WSL下,您可能会遇到关于GTK或其他缺少动态库的错误。这是由langserver依赖GTK来正常运行引起的,请查看问题https://github.com/Eugleo/magic-racket/issues/51以获取解决方案。
在Linux上也可能遇到类似问题,尤其是在您的Racket安装通过Snap或类似风格的替代包装进行沙箱化时。请查看https://github.com/Eugleo/magic-racket/issues/109以获取更多信息。这些问题可能表明包装问题,因此您可能需要尝试不使用像Snap这样的沙箱层来安装Racket。
在Linux和WSL上,有时会出现关于头部需要具有content-length属性的错误。有关修复方法,请查看问题https://github.com/Eugleo/magic-racket/issues/77。
我们需要raco来安装语言服务器包。好消息是,raco在安装Racket时会自动安装。在MacOS上,它可以在/Applications/[Racket文件夹]/bin目录中找到,据说在Windows上,它直接在Racket安装目录中。
然而,在安装后,您的计算机并不知道raco命令在哪里,因此您需要执行以下任一操作:
(推荐)添加raco所在的目录(Unix的说明,以及Windows上的PowerShell类似操作)。
首先移动到raco所在的目录(例如使用cd),然后通过在raco命令前加上./(Unix)或.\(Windows)来运行它,如下所示:
./raco pkg update racket-langserver
或在Windows上:
.\raco pkg update racket-langserver
请查看变更日志以获取最新更新的信息。
本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com