Git Product home page Git Product logo

vscode-xml's Introduction

XML Language Support by Red Hat

Join the chat at https://gitter.im/redhat-developer/vscode-xml Marketplace Version

Description

This VS Code extension provides support for creating and editing XML documents, based on the LemMinX XML Language Server, running with Java.

Basic features

Features

  • Syntax error reporting
  • General code completion
  • Auto-close tags
  • Automatic node indentation
  • Symbol highlighting
  • Document folding
  • Document links
  • Document symbols and outline
  • Renaming support
  • Document Formatting (see formatting settings)
  • DTD validation
  • DTD completion
  • DTD formatting
  • XSD validation
  • XSD based hover
  • XSD based code completion
  • XSL support
  • XML catalogs
  • File associations
  • Code actions
  • Schema Caching

See the changelog for the latest release. You might also find useful information in the project Wiki.

Requirements

  • Java JDK (or JRE) 8 or more recent
  • Ensure Java path is set in either:
    • xml.java.home in VSCode preferences
    • java.home in VSCode preferences
    • Environment variable JAVA_HOME or JDK_HOME
    • Note: The path should end at the parent folder that contains the bin folder. Example Path: /usr/lib/jvm/java-1.8.0 if bin exists at /usr/lib/jvm/java-1.8.0/bin.
    • Note: If the path is not set, the extension will attempt to find the path to the JDK or JRE.

Supported VS Code settings

The following settings are supported:

  • xml.java.home: Set the Java path required to run the XML Language Server. If not set, falls back to either the java.home preference or the JAVA_HOME or JDK_HOME environment variables.
  • xml.server.vmargs: Specifies extra VM arguments used to launch the XML Language Server. Eg. use -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication to bypass class verification, increase the heap size to 1GB and enable String deduplication with the G1 Garbage collector.
  • xml.server.workDir: Set a custom folder path for cached XML Schemas. An absolute path is expected, although the ~ prefix (for the user home directory) is supported. Default is ~/.lemminx.
  • xml.trace.server : Trace the communication between VS Code and the XML language server in the Output view. Default is off.
  • xml.logs.client : Enable/disable logging to the Output view. Default is true.
  • xml.catalogs : Register XML catalog files. See how to configure XML catalog with XSD or XML catalog with DTD for more information.
  • xml.fileAssociations : Allows XML schemas/ DTD to be associated to file name patterns.
  • xml.format.enabled : Enable/disable ability to format document. Default is true.
  • xml.format.emptyElements : Expand/collapse empty elements. Default is ignore. See here for more information.
  • xml.format.enforceQuoteStyle: Enforce preferred quote style (set by xml.preferences.quoteStyle) or ignore quote style when formatting. Default is ignore. See here for more information.
  • xml.format.joinCDATALines : Set to true to join lines in CDATA content during formatting. Default is false. See here for more information.
  • xml.format.joinCommentLines : Set to true to join lines in comments during formatting. Default is false. See here for more information.
  • xml.format.joinContentLines : Normalize the whitespace of content inside an element. Newlines and excess whitespace are removed. Default is false. See here for more information.
  • xml.format.preserveAttributeLineBreaks: Preserve line breaks that appear before and after attributes. This setting is overridden if xml.format.splitAttributes is set to true. Default is false. See here for more information.
  • xml.format.preserveEmptyContent: Preserve empty content/whitespace in a tag. Default is false. See here for more information.
  • xml.format.preservedNewLines: Preserve new lines that separate tags. The value represents the maximum number of new lines per section. A value of 0 removes all new lines. Default is 2. See here for more information.
  • xml.format.spaceBeforeEmptyCloseTag: Insert space before end of self closing tag. \nExample:\n <tag/> -> <tag />. Default is true. See here for more information.
  • xml.format.splitAttributes : Split multiple attributes each onto a new line. Default is false. See here for more information.
  • xml.preferences.quoteStyle: Preferred quote style to use for completion: single quotes, double quotes. Default is double.
  • xml.autoCloseTags.enabled : Enable/disable autoclosing of XML tags. Default is true. \n\nIMPORTANT: Turn off #editor.autoClosingTags# for this to work. Note: editor.autoClosingBrackets must be turned off to work.
  • xml.codeLens.enabled: Enable/disable XML CodeLens. Default is false.
  • xml.preferences.showSchemaDocumentationType: Specifies the source of the XML schema documentation displayed on hover and completion. Default is all.
  • xml.validation.enabled: Enable/disable all validation. Default is true.
  • xml.validation.schema: Enable/disable schema based validation. Default is true. Ignored if xml.validation.enabled is set to false
  • 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.
  • xml.validation.noGrammar: The message severity when a document has no associated grammar. Defaults to hint.
  • xml.symbols.enabled: Enable/disable document symbols (Outline). Default is true.
  • xml.symbols.excluded: Disable document symbols (Outline) for the given file name patterns. Updating file name patterns does not automatically reload the Outline view for the relevant file(s). Each file must either be reopened or changed, in order to trigger an Outline view reload.
  • xml.symbols.maxItemsComputed: The maximum number of outline symbols and folding regions computed (limited for performance reasons). Default is 5000.

Since 0.13.0:

  • files.trimTrailingWhitespace: Now affects XML formatting. Enable/disable trailing whitespace trimming when formatting an XML document. Default is false.

Articles

Custom XML Extensions

The LemMinX - XML Language Server can be extended to support custom completion, hover, validation, rename, etc. Please see the extensions documentation for more information.

Contributing

This is an open source project open to anyone. Contributions are extremely welcome!

For information on getting started, refer to the CONTRIBUTING instructions.

CI builds can be installed manually by following these instructions:

  1. Download the latest development VSIX archive from here. (vscode-xml-XXX.vsix)

  2. Go to the Extensions section in VSCode.

  3. At the top right click the ... icon.

  4. Select 'Install from VSIX...' and choose the visx file.

Feedback

License

EPL 1.0, See LICENSE file.

vscode-xml's People

Contributors

a2975667 avatar angelozerr avatar boykoalex avatar datho7561 avatar dkwon17 avatar fbricon avatar felixfbecker avatar gorkem avatar invinciblejai avatar nikolaskomonen avatar ralish avatar rzgry avatar snjeza avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.