From 415c5f56efc4da0a85a5cba07178852318868786 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Sun, 8 Jun 2025 15:30:10 -0700 Subject: [PATCH] add setup instructions for helix and vscode --- public/assets/images/vscode-qml-env.png | Bin 0 -> 16371 bytes src/guide/install-setup.mdx | 28 +++++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 public/assets/images/vscode-qml-env.png diff --git a/public/assets/images/vscode-qml-env.png b/public/assets/images/vscode-qml-env.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5e2bdedfe2ebec139699146a8666d202d5f68b GIT binary patch literal 16371 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 [!NOTE] +> Qmlls versions prior to 6.8.2 do not require `-E` + ### Emacs Install the [yuja/tree-sitter-qml](https://github.com/yuja/tree-sitter-qmljs) tree-sitter grammar, and the [xhcoding/qml-ts-mode](https://github.com/xhcoding/qml-ts-mode) mode. @@ -107,9 +110,6 @@ The author's personal emacs config uses `lsp-mode` and `qml-ts-mode` as follows: (lsp-deferred)))) ``` -> [!NOTE] -> Qmlls versions prior to 6.8.2 do not require `-E` - ### Neovim Neovim has built-in syntax highlighting for QML, however tree-sitter highlighting may work better than the built-in highlighting. You can install the grammar @@ -117,7 +117,7 @@ using `:TSInstall qmljs`. To use the language server ([caveats below](#language-server)), install [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) -and the following snippet: +and the following snippet to your configuration: ```lua require("lspconfig").qmlls.setup { @@ -125,8 +125,23 @@ require("lspconfig").qmlls.setup { } ``` -> [!NOTE] -> Qmlls versions prior to 6.8.2 do not require `-E` +### Helix +Helix has built-in syntax highlighting for QML. + +To use the language server, add the following snippet to your configuration: + +```toml +[language-server.qmlls] +args = ["-E"] +command = "qmlls" +``` + +### Vscode +1. Install the [Official QML Support extension] +2. Enable the `qt-qml.qmlls.useQmlImportPathEnvVar` setting. +![](/assets/images/vscode-qml-env.png) + +[Official QML Support extension]: https://marketplace.visualstudio.com/items?itemName=TheQtCompany.qt-qml ## Language Server The QML language has an associated language server, @@ -141,6 +156,7 @@ We are aware of the following issues: - Qmlls cannot handle quickshell's singletons. This means you won't see completions, and usages of singleton members may show a warning. We're still investigating this problem and how to fix it. +- The LSP cannot provide any documentation for Quickshell types. Keeping in mind the above caveats, qmlls should be able to guide you towards more correct code should you chose to use it.