#language-server #lsp #openscad #协议 #IDE #文档 #文档

app openscad-lsp

OpenSCAD 的语言(LSP)服务器

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开发工具

Download history 43/week @ 2024-03-12 25/week @ 2024-03-19 84/week @ 2024-03-26 40/week @ 2024-04-02 20/week @ 2024-04-09 8/week @ 2024-04-16 80/week @ 2024-04-23 12/week @ 2024-04-30 10/week @ 2024-05-07 17/week @ 2024-05-14 186/week @ 2024-05-21 23/week @ 2024-05-28 21/week @ 2024-06-04 55/week @ 2024-06-11 40/week @ 2024-06-18 23/week @ 2024-06-25

143 每月下载量

MIT/Apache

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