mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-17 23:35:54 +01:00
@@ -1451,208 +1451,431 @@
|
||||
"title": "%configuration.format%",
|
||||
"order": 23,
|
||||
"properties": {
|
||||
"js/ts.format.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.enable%",
|
||||
"scope": "window",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%javascript.format.enable%",
|
||||
"markdownDeprecationMessage": "%configuration.format.enable.unifiedDeprecationMessage%",
|
||||
"scope": "window"
|
||||
},
|
||||
"typescript.format.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%typescript.format.enable%",
|
||||
"markdownDeprecationMessage": "%configuration.format.enable.unifiedDeprecationMessage%",
|
||||
"scope": "window"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterCommaDelimiter": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterCommaDelimiter%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterCommaDelimiter": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterCommaDelimiter%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterCommaDelimiter.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterCommaDelimiter": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterCommaDelimiter%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterCommaDelimiter.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterConstructor": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterConstructor%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterConstructor": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterConstructor%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterConstructor.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterConstructor": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterConstructor%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterConstructor.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterSemicolonInForStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterSemicolonInForStatements%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterSemicolonInForStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterSemicolonInForStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterSemicolonInForStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterSemicolonInForStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterSemicolonInForStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterSemicolonInForStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceBeforeAndAfterBinaryOperators": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceBeforeAndAfterBinaryOperators%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceBeforeAndAfterBinaryOperators": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceBeforeAndAfterBinaryOperators%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceBeforeAndAfterBinaryOperators.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceBeforeAndAfterBinaryOperators%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceBeforeAndAfterBinaryOperators.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterKeywordsInControlFlowStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterKeywordsInControlFlowStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterKeywordsInControlFlowStatements.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceBeforeFunctionParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceBeforeFunctionParenthesis%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceBeforeFunctionParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceBeforeFunctionParenthesis%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceBeforeFunctionParenthesis.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceBeforeFunctionParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceBeforeFunctionParenthesis%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceBeforeFunctionParenthesis.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.insertSpaceAfterTypeAssertion": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterTypeAssertion%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"typescript.format.insertSpaceAfterTypeAssertion": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.insertSpaceAfterTypeAssertion%",
|
||||
"markdownDeprecationMessage": "%configuration.format.insertSpaceAfterTypeAssertion.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.placeOpenBraceOnNewLineForFunctions": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForFunctions%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.placeOpenBraceOnNewLineForFunctions": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForFunctions%",
|
||||
"markdownDeprecationMessage": "%configuration.format.placeOpenBraceOnNewLineForFunctions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.placeOpenBraceOnNewLineForFunctions": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForFunctions%",
|
||||
"markdownDeprecationMessage": "%configuration.format.placeOpenBraceOnNewLineForFunctions.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.placeOpenBraceOnNewLineForControlBlocks": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
|
||||
"markdownDeprecationMessage": "%configuration.format.placeOpenBraceOnNewLineForControlBlocks.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
|
||||
"markdownDeprecationMessage": "%configuration.format.placeOpenBraceOnNewLineForControlBlocks.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"js/ts.format.semicolons": {
|
||||
"type": "string",
|
||||
"default": "ignore",
|
||||
"description": "%format.semicolons%",
|
||||
"scope": "resource",
|
||||
"enum": [
|
||||
"ignore",
|
||||
"insert",
|
||||
"remove"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"%format.semicolons.ignore%",
|
||||
"%format.semicolons.insert%",
|
||||
"%format.semicolons.remove%"
|
||||
],
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.semicolons": {
|
||||
"type": "string",
|
||||
"default": "ignore",
|
||||
"description": "%format.semicolons%",
|
||||
"markdownDeprecationMessage": "%configuration.format.semicolons.unifiedDeprecationMessage%",
|
||||
"scope": "resource",
|
||||
"enum": [
|
||||
"ignore",
|
||||
@@ -1669,6 +1892,7 @@
|
||||
"type": "string",
|
||||
"default": "ignore",
|
||||
"description": "%format.semicolons%",
|
||||
"markdownDeprecationMessage": "%configuration.format.semicolons.unifiedDeprecationMessage%",
|
||||
"scope": "resource",
|
||||
"enum": [
|
||||
"ignore",
|
||||
@@ -1681,16 +1905,28 @@
|
||||
"%format.semicolons.remove%"
|
||||
]
|
||||
},
|
||||
"js/ts.format.indentSwitchCase": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.indentSwitchCase%",
|
||||
"scope": "resource",
|
||||
"tags": [
|
||||
"JavaScript",
|
||||
"TypeScript"
|
||||
]
|
||||
},
|
||||
"javascript.format.indentSwitchCase": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.indentSwitchCase%",
|
||||
"markdownDeprecationMessage": "%configuration.format.indentSwitchCase.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.indentSwitchCase": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%format.indentSwitchCase%",
|
||||
"markdownDeprecationMessage": "%configuration.format.indentSwitchCase.unifiedDeprecationMessage%",
|
||||
"scope": "resource"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,26 @@
|
||||
"format.semicolons.insert": "Insert semicolons at statement ends.",
|
||||
"format.semicolons.remove": "Remove unnecessary semicolons.",
|
||||
"format.indentSwitchCase": "Indent case clauses in switch statements. Requires using TypeScript 5.1+ in the workspace.",
|
||||
"format.enable": "Enable/disable the default JavaScript and TypeScript formatter.",
|
||||
"configuration.format.enable.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.enable#` instead.",
|
||||
"configuration.format.insertSpaceAfterCommaDelimiter.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterCommaDelimiter#` instead.",
|
||||
"configuration.format.insertSpaceAfterConstructor.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterConstructor#` instead.",
|
||||
"configuration.format.insertSpaceAfterSemicolonInForStatements.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterSemicolonInForStatements#` instead.",
|
||||
"configuration.format.insertSpaceBeforeAndAfterBinaryOperators.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceBeforeAndAfterBinaryOperators#` instead.",
|
||||
"configuration.format.insertSpaceAfterKeywordsInControlFlowStatements.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterKeywordsInControlFlowStatements#` instead.",
|
||||
"configuration.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions#` instead.",
|
||||
"configuration.format.insertSpaceBeforeFunctionParenthesis.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceBeforeFunctionParenthesis#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces#` instead.",
|
||||
"configuration.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces#` instead.",
|
||||
"configuration.format.insertSpaceAfterTypeAssertion.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.insertSpaceAfterTypeAssertion#` instead.",
|
||||
"configuration.format.placeOpenBraceOnNewLineForFunctions.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.placeOpenBraceOnNewLineForFunctions#` instead.",
|
||||
"configuration.format.placeOpenBraceOnNewLineForControlBlocks.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.placeOpenBraceOnNewLineForControlBlocks#` instead.",
|
||||
"configuration.format.semicolons.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.semicolons#` instead.",
|
||||
"configuration.format.indentSwitchCase.unifiedDeprecationMessage": "This setting is deprecated. Use `#js/ts.format.indentSwitchCase#` instead.",
|
||||
"javascript.validate.enable": "Enable/disable JavaScript validation.",
|
||||
"javascript.goToProjectConfig.title": "Go to Project Configuration (jsconfig / tsconfig)",
|
||||
"typescript.goToProjectConfig.title": "Go to Project Configuration (tsconfig)",
|
||||
|
||||
@@ -142,9 +142,7 @@ export default class FileConfigurationManager extends Disposable {
|
||||
document: vscode.TextDocument,
|
||||
options: FormattingOptions
|
||||
): Proto.FormatCodeSettings {
|
||||
const config = vscode.workspace.getConfiguration(
|
||||
isTypeScriptDocument(document) ? 'typescript.format' : 'javascript.format',
|
||||
document.uri);
|
||||
const fallbackSection = isTypeScriptDocument(document) ? 'typescript' : 'javascript';
|
||||
|
||||
return {
|
||||
tabSize: options.tabSize,
|
||||
@@ -152,24 +150,24 @@ export default class FileConfigurationManager extends Disposable {
|
||||
convertTabsToSpaces: options.insertSpaces,
|
||||
// We can use \n here since the editor normalizes later on to its line endings.
|
||||
newLineCharacter: '\n',
|
||||
insertSpaceAfterCommaDelimiter: config.get<boolean>('insertSpaceAfterCommaDelimiter'),
|
||||
insertSpaceAfterConstructor: config.get<boolean>('insertSpaceAfterConstructor'),
|
||||
insertSpaceAfterSemicolonInForStatements: config.get<boolean>('insertSpaceAfterSemicolonInForStatements'),
|
||||
insertSpaceBeforeAndAfterBinaryOperators: config.get<boolean>('insertSpaceBeforeAndAfterBinaryOperators'),
|
||||
insertSpaceAfterKeywordsInControlFlowStatements: config.get<boolean>('insertSpaceAfterKeywordsInControlFlowStatements'),
|
||||
insertSpaceAfterFunctionKeywordForAnonymousFunctions: config.get<boolean>('insertSpaceAfterFunctionKeywordForAnonymousFunctions'),
|
||||
insertSpaceBeforeFunctionParenthesis: config.get<boolean>('insertSpaceBeforeFunctionParenthesis'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingEmptyBraces: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingEmptyBraces'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces'),
|
||||
insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: config.get<boolean>('insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces'),
|
||||
insertSpaceAfterTypeAssertion: config.get<boolean>('insertSpaceAfterTypeAssertion'),
|
||||
placeOpenBraceOnNewLineForFunctions: config.get<boolean>('placeOpenBraceOnNewLineForFunctions'),
|
||||
placeOpenBraceOnNewLineForControlBlocks: config.get<boolean>('placeOpenBraceOnNewLineForControlBlocks'),
|
||||
semicolons: config.get<Proto.SemicolonPreference>('semicolons'),
|
||||
indentSwitchCase: config.get<boolean>('indentSwitchCase'),
|
||||
insertSpaceAfterCommaDelimiter: readUnifiedConfig<boolean>('format.insertSpaceAfterCommaDelimiter', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterConstructor: readUnifiedConfig<boolean>('format.insertSpaceAfterConstructor', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterSemicolonInForStatements: readUnifiedConfig<boolean>('format.insertSpaceAfterSemicolonInForStatements', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceBeforeAndAfterBinaryOperators: readUnifiedConfig<boolean>('format.insertSpaceBeforeAndAfterBinaryOperators', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterKeywordsInControlFlowStatements: readUnifiedConfig<boolean>('format.insertSpaceAfterKeywordsInControlFlowStatements', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterFunctionKeywordForAnonymousFunctions: readUnifiedConfig<boolean>('format.insertSpaceAfterFunctionKeywordForAnonymousFunctions', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceBeforeFunctionParenthesis: readUnifiedConfig<boolean>('format.insertSpaceBeforeFunctionParenthesis', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingEmptyBraces: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces', true, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: readUnifiedConfig<boolean>('format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces', false, { scope: document.uri, fallbackSection }),
|
||||
insertSpaceAfterTypeAssertion: readUnifiedConfig<boolean>('format.insertSpaceAfterTypeAssertion', false, { scope: document.uri, fallbackSection }),
|
||||
placeOpenBraceOnNewLineForFunctions: readUnifiedConfig<boolean>('format.placeOpenBraceOnNewLineForFunctions', false, { scope: document.uri, fallbackSection }),
|
||||
placeOpenBraceOnNewLineForControlBlocks: readUnifiedConfig<boolean>('format.placeOpenBraceOnNewLineForControlBlocks', false, { scope: document.uri, fallbackSection }),
|
||||
semicolons: readUnifiedConfig<Proto.SemicolonPreference>('format.semicolons', 'ignore' as Proto.SemicolonPreference, { scope: document.uri, fallbackSection }),
|
||||
indentSwitchCase: readUnifiedConfig<boolean>('format.indentSwitchCase', true, { scope: document.uri, fallbackSection }),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -9,12 +9,14 @@ import { LanguageDescription } from '../configuration/languageDescription';
|
||||
import type * as Proto from '../tsServer/protocol/protocol';
|
||||
import * as typeConverters from '../typeConverters';
|
||||
import { ITypeScriptServiceClient } from '../typescriptService';
|
||||
import { readUnifiedConfig } from '../utils/configuration';
|
||||
import FileConfigurationManager from './fileConfigurationManager';
|
||||
import { conditionalRegistration, requireGlobalConfiguration } from './util/dependentRegistration';
|
||||
import { conditionalRegistration, requireHasModifiedUnifiedConfig } from './util/dependentRegistration';
|
||||
|
||||
class TypeScriptFormattingProvider implements vscode.DocumentRangeFormattingEditProvider, vscode.OnTypeFormattingEditProvider {
|
||||
public constructor(
|
||||
private readonly client: ITypeScriptServiceClient,
|
||||
private readonly language: LanguageDescription,
|
||||
private readonly fileConfigurationManager: FileConfigurationManager
|
||||
) { }
|
||||
|
||||
@@ -24,6 +26,10 @@ class TypeScriptFormattingProvider implements vscode.DocumentRangeFormattingEdit
|
||||
options: vscode.FormattingOptions,
|
||||
token: vscode.CancellationToken
|
||||
): Promise<vscode.TextEdit[] | undefined> {
|
||||
if (!this.isEnabled(document)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const file = this.client.toOpenTsFilePath(document);
|
||||
if (!file) {
|
||||
return undefined;
|
||||
@@ -46,10 +52,14 @@ class TypeScriptFormattingProvider implements vscode.DocumentRangeFormattingEdit
|
||||
ch: string,
|
||||
options: vscode.FormattingOptions,
|
||||
token: vscode.CancellationToken
|
||||
): Promise<vscode.TextEdit[]> {
|
||||
): Promise<vscode.TextEdit[] | undefined> {
|
||||
if (!this.isEnabled(document)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const file = this.client.toOpenTsFilePath(document);
|
||||
if (!file) {
|
||||
return [];
|
||||
return undefined;
|
||||
}
|
||||
|
||||
await this.fileConfigurationManager.ensureConfigurationOptions(document, options, token);
|
||||
@@ -83,6 +93,10 @@ class TypeScriptFormattingProvider implements vscode.DocumentRangeFormattingEdit
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private isEnabled(document: vscode.TextDocument): boolean {
|
||||
return readUnifiedConfig<boolean>('format.enable', true, { scope: document, fallbackSection: this.language.id });
|
||||
}
|
||||
}
|
||||
|
||||
export function register(
|
||||
@@ -92,9 +106,9 @@ export function register(
|
||||
fileConfigurationManager: FileConfigurationManager
|
||||
) {
|
||||
return conditionalRegistration([
|
||||
requireGlobalConfiguration(language.id, 'format.enable'),
|
||||
requireHasModifiedUnifiedConfig('format.enable', language.id),
|
||||
], () => {
|
||||
const formattingProvider = new TypeScriptFormattingProvider(client, fileConfigurationManager);
|
||||
const formattingProvider = new TypeScriptFormattingProvider(client, language, fileConfigurationManager);
|
||||
return vscode.Disposable.from(
|
||||
vscode.languages.registerOnTypeFormattingEditProvider(selector.syntax, formattingProvider, ';', '}', '\n'),
|
||||
vscode.languages.registerDocumentRangeFormattingEditProvider(selector.syntax, formattingProvider),
|
||||
|
||||
Reference in New Issue
Block a user