提交 c488e28c 编写于 作者: M Matt Bierner

Use 'auto' for default TS preference values

上级 e032970c
......@@ -430,36 +430,44 @@
"javascript.preferences.quoteStyle": {
"type": "string",
"enum": [
"auto",
"single",
"double"
],
"default": "auto",
"description": "%typescript.preferences.quoteStyle%",
"scope": "window"
},
"typescript.preferences.quoteStyle": {
"type": "string",
"enum": [
"auto",
"single",
"double"
],
"default": "auto",
"description": "%typescript.preferences.quoteStyle%",
"scope": "window"
},
"javascript.preferences.importModuleSpecifier": {
"type": "string",
"enum": [
"auto",
"relative",
"non-relative"
],
"default": "auto",
"description": "%typescript.preferences.importModuleSpecifier%",
"scope": "window"
},
"typescript.preferences.importModuleSpecifier": {
"type": "string",
"enum": [
"auto",
"relative",
"non-relative"
],
"default": "auto",
"description": "%typescript.preferences.importModuleSpecifier%",
"scope": "window"
}
......
......@@ -55,6 +55,6 @@
"taskDefinition.tsconfig.description": "The tsconfig file that defines the TS build.",
"javascript.suggestionActions.enabled": "Enable/disable suggestion diagnostics for JavaScript files in the editor. Requires TypeScript >= 2.8",
"typescript.suggestionActions.enabled": "Enable/disable suggestion diagnostics for TypeScript files in the editor. Requires TypeScript >= 2.8",
"typescript.preferences.quoteStyle": "Preferred quote style ('single' or 'double') to use for quick fixes. Requires TS >= 2.9",
"typescript.preferences.importModuleSpecifier": "Preferred ('relative' or 'non-relative') for auto imports. Requires TS >= 2.9"
"typescript.preferences.quoteStyle": "Preferred quote style to use for quick fixes: 'single' quotes, 'double' quotes, or 'auto' infer quote type from existing imports. Requires TS >= 2.9",
"typescript.preferences.importModuleSpecifier": "Preferred path style for auto imports: 'relative' paths, 'non-relative' paths, or 'auto' infer the shortest path type. Requires TS >= 2.9"
}
\ No newline at end of file
......@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { workspace as Workspace, FormattingOptions, TextDocument, CancellationToken, window, Disposable, workspace } from 'vscode';
import { workspace as Workspace, FormattingOptions, TextDocument, CancellationToken, window, Disposable, workspace, WorkspaceConfiguration } from 'vscode';
import * as Proto from '../protocol';
import { ITypeScriptServiceClient } from '../typescriptService';
......@@ -156,12 +156,28 @@ export default class FileConfigurationManager {
document.uri);
return {
quotePreference: config.get<'single' | 'double' | undefined>('quoteStyle'),
importModuleSpecifierPreference: config.get<'relative' | 'non-relative' | undefined>('importModuleSpecifier')
quotePreference: getQuoteStylePreference(config),
importModuleSpecifierPreference: getImportModuleSpecifierPreference(config)
};
}
}
function getQuoteStylePreference(config: WorkspaceConfiguration) {
switch (config.get<string>('quoteStyle')) {
case 'single': return 'single';
case 'double': return 'double';
default: return undefined;
}
}
function getImportModuleSpecifierPreference(config: WorkspaceConfiguration) {
switch (config.get<string>('importModuleSpecifier')) {
case 'relative': return 'relative';
case 'non-relative': return 'non-relative';
default: return undefined;
}
}
function isTypeScriptDocument(document: TextDocument) {
return document.languageId === languageIds.typescript || document.languageId === languageIds.typescriptreact;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册