Table of contents
Open Table of contents
前言
Stop coding in your browser.
闲暇之余,随手折腾一下。
Gram
官网:Gram
Source:codeberg.org/GramEditor/gram
操作环境
- Windows 11 24H2
- Gram v3.0.1
安装 Extension
Astro : zed-extensions/astro
Typst : zed-extensions/typst
坑 1 、Rust 环境缺少 wasm32-wasip2 编译目标
在我安装时国内镜像源不含该组件包,遂报错,故临时切回官方源。
在 Windows 系统环境变量中删除 RUSTUP_DIST_SERVER 。
重新打开 Powershell 运行:
rustup target add wasm32-wasip2
检查:
rustup target list --installed
确认输出里有 wasm32-wasip2 。
提示:如果在删除相关环境变量与 settings.toml 中下载源配置后仍然报错,且错误信息中含有已经删除的下载源,请运行 rustup update 并再次尝试使用上面的命令安装。
坑 2 、wasi-sdk 下载问题
解决 坑 1 后继续尝试安装 Extension,完成仓库克隆后一直处于 Installing extension 转圈状态,等待许久,未能解决,查询日志:
grammar 编译阶段时,Gram 需要下载 wasi-sdk:
11:45:14 INFO compiling grammar astro for extension ...
11:45:14 INFO downloading wasi-sdk to C:\Users\User\AppData\Local\Gram\extensions\build\wasi-sdk
随后超时失败(Github 连接不稳定;即使稳定,下载 496 MB 的文件也需要一定时间):
11:45:14 ERROR failed to compile grammar 'astro'
Caused by:
0: error sending request for url (...wasi-sdk-25.0-x86_64-windows.tar.gz...)
1: client error (Connect)
2: operation timed out
得知,Gram 需要 wasi-sdk 进行编译,故自行手动下载 wasi-sdk:
手动下载 wasi-sdk 25.0 Windows 版(即日志中下载失败的版本,也可以尝试使用最新稳定版,详见 Releases ):WebAssembly/wasi-sdk/releases/tag/wasi-sdk-25
下载 wasi-sdk-25.0-x86_64-windows.tar.gz 文件,解压到 Gram 指定目录(如不存在,自行新建):
%APPDATA%\Local\Gram\extensions\build\wasi-sdk
解压后该目录下应该有 bin、lib、share 等文件夹。
重启 Gram ,再次尝试安装扩展。此时 Gram 检测到 wasi-sdk 已存在,便会跳过下载,直接进入编译。
顷刻,安装完成。
编辑文件
Language servers
编辑文件时,左下角 Language servers 报错:
Language server rust-analyzer:
Download disabled for this language server, check the configuration
查询资料,得知:
自 Gram 2.0.0 版本( Release 2.0.0 ),出于安全(防止运行未经审核的代码)和稳定性考虑,语言服务器(LSP)的自动下载和更新功能默认被关闭了。因此,打开相关文件时,编辑器发现 language-server 未安装且自动下载被禁用,遂报错。
解决方案:左上角“≡” → Gram → Language servers 。
在打开的 Language servers 页面找到所需的 Language server ,打开 Allow Download(可选 Auto Update)。