From 6a7db6eb6eff235ef80f5fe9b0dd0ce33c9f5fc2 Mon Sep 17 00:00:00 2001 From: azerr Date: Mon, 28 Oct 2019 16:02:33 +0100 Subject: [PATCH] Doc for xml.javaExtensions Signed-off-by: azerr --- README.md | 26 ++++++++++++++++++++++++++ images/vscode-xml-maven.gif | Bin 0 -> 45751 bytes 2 files changed, 26 insertions(+) create mode 100644 images/vscode-xml-maven.gif diff --git a/README.md b/README.md index f8fa8ecd..2c8ca17f 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,32 @@ Since 0.9.1: * `xml.validation.disallowDocTypeDecl`: Enable/disable if a fatal error is thrown if the incoming document contains a DOCTYPE declaration. Default is `false`. * `xml.validation.resolveExternalEntities`: Enable/disable resolve of external entities. Default is `false`. +## Custom XML Extensions + +The [LSP4XML Language Server](https://github.com/angelozerr/lsp4xml) can be extended to support custom completion, hover, validation, rename, etc by using the [Java Service Provider Interface (SPI)](https://www.baeldung.com/java-spi) mechanism. vscode-xml provides the ability use your custom XML support provider, by adding external jars to the XML language server's classpath. + +To do that: + + * create a Java project which provides a custom XML extension providing your custom completion, hover, validation, rename, etc: + * create the XML extension like [MavenPlugin](https://github.com/angelozerr/lsp4xml-extensions-maven/blob/master/org.eclipse.lsp4xml.extensions.maven/src/main/java/org/eclipse/lsp4xml/extensions/maven/MavenPlugin.java). + * register your custom completion participant in the XML extension like [MavenCompletionParticipant](https://github.com/angelozerr/lsp4xml-extensions-maven/blob/master/org.eclipse.lsp4xml.extensions.maven/src/main/java/org/eclipse/lsp4xml/extensions/maven/MavenCompletionParticipant.java#L28) + * register your custom XML extension with [Java Service Provider Interface (SPI)](https://www.baeldung.com/java-spi) mechanism in the [/META-INF/services/org.eclipse.lsp4xml.services.extensions.IXMLExtension](https://github.com/angelozerr/lsp4xml-extensions-maven/blob/master/org.eclipse.lsp4xml.extensions.maven/src/main/resources/META-INF/services/org.eclipse.lsp4xml.services.extensions.IXMLExtension) file. + * build a JAR `your-custom-xml-extension.jar`. + + * create a `vscode extension` which embeds the `your-custom-xml-extension.jar` JAR and declares this JAR path in the `package.json`: + +```json +"contributes": { + "xml.javaExtensions": [ + "./jar/your-custom-xml-extension.jar" + ] +} +``` + +You can see the [vscode-xml-maven](https://github.com/angelozerr/vscode-xml-maven) sample which registers custom maven completion [MavenCompletionParticipant](https://github.com/angelozerr/lsp4xml-extensions-maven/blob/master/org.eclipse.lsp4xml.extensions.maven/src/main/java/org/eclipse/lsp4xml/extensions/maven/MavenCompletionParticipant.java#L28) for scope: + +![VScode XML Maven](images/vscode-xml-maven.gif) + ## Contributing This is an open source project open to anyone. Contributions are extremely welcome! diff --git a/images/vscode-xml-maven.gif b/images/vscode-xml-maven.gif new file mode 100644 index 0000000000000000000000000000000000000000..efc036d01afac33773b4d6d680bb191bc981c27b GIT binary patch literal 45751 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