9 个稳定版本
1.2.5 | 2023年6月9日 |
---|---|
1.2.4 | 2023年6月2日 |
1.2.3 | 2022年10月13日 |
1.2.1 | 2022年8月8日 |
1.0.2 | 2022年5月27日 |
#195 在 开发工具 中
143 每月下载量
69KB
1.5K SLoC
openscad-LSP
OpenSCAD 的 LSP(语言服务器协议)服务器。
受 dzhu/openscad-language-server 启发
在 Mac 和 Windows 上的 VSCode 上进行了测试。 [vscode 扩展]
由 @Lenbok 在 Linux 上的 Emacs 的 lsp-mode 上进行了测试。
功能
- 内置函数/模块文档
- 代码和路径自动补全
- 跳转到定义
- 代码片段
- 函数/模块签名悬停提示
- 文档符号
- 格式化器,利用 clang-format,您需要自己安装,它不是内置的。
- 悬停和提示文档,从函数/模块前的注释中读取。
IDE 插件
IDE | 插件 | 注意 |
---|---|---|
Neovim | mason.nvim | 仅在 Mac 和 Linux 上进行了测试 |
Neovim | nvim-lspconfig | 仅在 Mac 和 Linux 上进行了测试 |
VS Code | openscad-language-support | 仅在 Mac 和 Windows 上进行了测试 |
安装
openscad-LSP 使用 Rust 编写,要使用它,您需要安装 Rust 工具链。
cargo install openscad-lsp
构建
cd openscad-LSP
cargo build --release
使用方法
服务器通过 TCP 套接字(127.0.0.1:3245)进行通信。
USAGE:
openscad-lsp [OPTIONS]
OPTIONS:
--builtin <BUILTIN> external builtin functions file path, if set, the built-in
builtin functions file will not be used [default: ]
--fmt-exe <FMT_EXE> clang format executable file path [default: clang-format]
--fmt-style <FMT_STYLE> LLVM, GNU, Google, Chromium, Microsoft, Mozilla, WebKit, file
[default: Microsoft]
-h, --help Print help information
--ignore-default exclude default params in auto-completion
--ip <IP> [default: 127.0.0.1]
-p, --port <PORT> [default: 3245]
--stdio use stdio instead of tcp
-V, --version Print version information
要运行时更改配置,您可以发送通知 workspace/didChangeConfiguration
// example
{
"settings": {
"openscad": {
"search_paths": "/libs",
"fmt_exe": "/usr/bin/clang-format",
"fmt_style": "file",
"default_param": true
}
}
}
依赖项
~7–19MB
~252K SLoC