From cb914dd990c706379c555620ec803652422124b4 Mon Sep 17 00:00:00 2001 From: Henrik Jess Nielsen Date: Mon, 11 May 2026 11:44:31 +0200 Subject: [PATCH] docs: add IntelliJ LSP4IJ setup + Azure Toolkit conflict warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When Azure Toolkit is also installed, IDEA merges its native Bicep completions with LSP4IJ completions — causing resource/projectName/schema noise that bypasses the iLSP proxy entirely. --- EDITOR_SETUP.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/EDITOR_SETUP.md b/EDITOR_SETUP.md index 5548bf2..039659d 100644 --- a/EDITOR_SETUP.md +++ b/EDITOR_SETUP.md @@ -12,6 +12,35 @@ supports LSP WebSocket transport. --- +## IntelliJ IDEA setup (LSP4IJ) + +Install the [LSP4IJ](https://plugins.jetbrains.com/plugin/23257-lsp4ij) plugin, then: + +1. **Settings → Languages & Frameworks → LSP → Language Servers → +** + - Name: `iLSP Bicep` + - Server type: `WebSocket` + - URL: `wss://ilsp.i80.dk/bicep` + +2. **Add a file-type mapping** under the new server entry: + - File type: `Bicep` (or pattern `*.bicep`) + +3. **Disable Azure Toolkit Bicep completions** — this is critical if you have the + Azure Toolkit plugin installed. Without this step, IDEA merges completions from + both LSP4IJ and Azure Toolkit, resulting in noisy suggestions (`resource`, + `projectName`, Bicep schema types, etc.) appearing alongside iLSP results. + + Go to **Settings → Languages & Frameworks → Azure Toolkit for IntelliJ** + and disable or uncheck Bicep language support. If there is no such option, + disable the Azure Toolkit plugin entirely for Bicep projects, or suppress + its completion contributor via **Settings → Editor → General → Code Completion** + (uncheck "Show suggestions from plugins that don't support the current language server"). + + > **Why**: LSP4IJ feeds completions through the LSP protocol where iLSP can + > filter them. Azure Toolkit injects completions directly into IDEA's completion + > system, bypassing the LSP layer entirely — iLSP cannot suppress those. + +--- + ## Neovim setup ```lua