parent
8f0bf58462
commit
9941bafa74
5 changed files with 14 additions and 1 deletions
|
@ -17,8 +17,9 @@
|
||||||
* `xmlTools.ignoreDefaultNamespace`: Ignore default xmlns attributes when evaluating XPath.
|
* `xmlTools.ignoreDefaultNamespace`: Ignore default xmlns attributes when evaluating XPath.
|
||||||
* `xmlTools.persistXPathQuery`: Remember the last XPath query used.
|
* `xmlTools.persistXPathQuery`: Remember the last XPath query used.
|
||||||
* `xmlTools.removeCommentsOnMinify`: Remove XML comments during minification.
|
* `xmlTools.removeCommentsOnMinify`: Remove XML comments during minification.
|
||||||
|
* `xmlTools.splitAttributesOnFormat`: Put each attribute on a new line when formatting XML. Overrides `xmlTools.splitXmlsOnFormat` if set to `true`. (V2 Formatter Only)
|
||||||
* `xmlTools.splitXmlnsOnFormat`: Put each xmlns attribute on a new line when formatting XML.
|
* `xmlTools.splitXmlnsOnFormat`: Put each xmlns attribute on a new line when formatting XML.
|
||||||
* `xmlTools.xmlFormatterImplementation`: Supported XML Formatters: `classic`.
|
* `xmlTools.xmlFormatterImplementation`: Supported XML Formatters: `classic`, `v2`.
|
||||||
* `xmlTools.xqueryExecutionArguments`: Arguments to be passed to the XQuery execution engine.
|
* `xmlTools.xqueryExecutionArguments`: Arguments to be passed to the XQuery execution engine.
|
||||||
* `xmlTools.xqueryExecutionEngine`: The full path to the executable to run when executing XQuery scripts.
|
* `xmlTools.xqueryExecutionEngine`: The full path to the executable to run when executing XQuery scripts.
|
||||||
|
|
||||||
|
|
|
@ -80,6 +80,12 @@
|
||||||
"description": "Remove XML comments during minification.",
|
"description": "Remove XML comments during minification.",
|
||||||
"scope": "resource"
|
"scope": "resource"
|
||||||
},
|
},
|
||||||
|
"xmlTools.splitAttributesOnFormat": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "Put each attribute on a new line when formatting XML. Overrides `xmlTools.splitXmlsOnFormat` if set to `true`.",
|
||||||
|
"scope": "resource"
|
||||||
|
},
|
||||||
"xmlTools.splitXmlnsOnFormat": {
|
"xmlTools.splitXmlnsOnFormat": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": true,
|
"default": true,
|
||||||
|
|
|
@ -87,6 +87,10 @@ export class V2XmlFormatter implements XmlFormatter {
|
||||||
|
|
||||||
// entering StartTag.Attribute
|
// entering StartTag.Attribute
|
||||||
else if (location === Location.StartTag && [" ", "/", ">"].indexOf(cc) === -1) {
|
else if (location === Location.StartTag && [" ", "/", ">"].indexOf(cc) === -1) {
|
||||||
|
if (lastNonTextLocation === Location.AttributeValue && ((options.splitXmlnsOnFormat && xml.substr(i, 5).toLowerCase() === "xmlns") || options.splitAttributesOnFormat)) {
|
||||||
|
output += `${options.newLine}${this._getIndent(options, indentLevel)}`;
|
||||||
|
}
|
||||||
|
|
||||||
output += cc;
|
output += cc;
|
||||||
lastNonTextLocation = location;
|
lastNonTextLocation = location;
|
||||||
location = Location.Attribute;
|
location = Location.Attribute;
|
||||||
|
|
|
@ -31,6 +31,7 @@ export class XmlFormattingEditProvider implements DocumentFormattingEditProvider
|
||||||
editorOptions: options,
|
editorOptions: options,
|
||||||
newLine: (document.eol === EndOfLine.CRLF) ? "\r\n" : "\n",
|
newLine: (document.eol === EndOfLine.CRLF) ? "\r\n" : "\n",
|
||||||
removeCommentsOnMinify: this.workspaceConfiguration.get<boolean>("removeCommentsOnMinify"),
|
removeCommentsOnMinify: this.workspaceConfiguration.get<boolean>("removeCommentsOnMinify"),
|
||||||
|
splitAttributesOnFormat: this.workspaceConfiguration.get<boolean>("splitAttributesOnFormat"),
|
||||||
splitXmlnsOnFormat: this.workspaceConfiguration.get<boolean>("splitXmlnsOnFormat")
|
splitXmlnsOnFormat: this.workspaceConfiguration.get<boolean>("splitXmlnsOnFormat")
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,6 @@ export interface XmlFormattingOptions {
|
||||||
editorOptions: FormattingOptions;
|
editorOptions: FormattingOptions;
|
||||||
newLine: string;
|
newLine: string;
|
||||||
removeCommentsOnMinify: boolean;
|
removeCommentsOnMinify: boolean;
|
||||||
|
splitAttributesOnFormat: boolean;
|
||||||
splitXmlnsOnFormat: boolean;
|
splitXmlnsOnFormat: boolean;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue