feat: update preferences.importModuleSpecifier (#295)
https://github.com/microsoft/vscode/pull/110536
This commit is contained in:
parent
8826e273b5
commit
fd957b20f9
2 changed files with 24 additions and 8 deletions
26
package.json
26
package.json
|
@ -277,12 +277,19 @@
|
||||||
},
|
},
|
||||||
"typescript.preferences.importModuleSpecifier": {
|
"typescript.preferences.importModuleSpecifier": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "auto",
|
"default": "shortest",
|
||||||
"description": "Preferred path style for auto imports.",
|
"description": "Preferred path style for auto imports.",
|
||||||
|
"enumDescriptions": [
|
||||||
|
"Prefers a non-relative import only if one is available that has fewer path segments than a relative import",
|
||||||
|
"Prefers a relative path to the imported file location",
|
||||||
|
"Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.",
|
||||||
|
"Prefers a non-relative import only if the relative import path would leave the package or project directory. Requires using TypeScript 4.2+ in the workspace."
|
||||||
|
],
|
||||||
"enum": [
|
"enum": [
|
||||||
"non-relative",
|
"shortest",
|
||||||
"relative",
|
"relative",
|
||||||
"auto"
|
"non-relative",
|
||||||
|
"project-relative"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"typescript.preferences.importModuleSpecifierEnding": {
|
"typescript.preferences.importModuleSpecifierEnding": {
|
||||||
|
@ -475,12 +482,19 @@
|
||||||
},
|
},
|
||||||
"javascript.preferences.importModuleSpecifier": {
|
"javascript.preferences.importModuleSpecifier": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "auto",
|
"default": "shortest",
|
||||||
"description": "Preferred path style for auto imports.",
|
"description": "Preferred path style for auto imports.",
|
||||||
|
"enumDescriptions": [
|
||||||
|
"Prefers a non-relative import only if one is available that has fewer path segments than a relative import",
|
||||||
|
"Prefers a relative path to the imported file location",
|
||||||
|
"Prefers a non-relative import based on the `baseUrl` or `paths` configured in your `jsconfig.json` / `tsconfig.json`.",
|
||||||
|
"Prefers a non-relative import only if the relative import path would leave the package or project directory. Requires using TypeScript 4.2+ in the workspace."
|
||||||
|
],
|
||||||
"enum": [
|
"enum": [
|
||||||
"auto",
|
"shortest",
|
||||||
|
"relative",
|
||||||
"non-relative",
|
"non-relative",
|
||||||
"relative"
|
"project-relative"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"javascript.preferences.importModuleSpecifierEnding": {
|
"javascript.preferences.importModuleSpecifierEnding": {
|
||||||
|
|
|
@ -196,17 +196,19 @@ export default class FileConfigurationManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ModuleImportType = 'relative' | 'non-relative' | 'auto'
|
type ModuleImportType = 'shortest' | 'project-relative' | 'relative' | 'non-relative'
|
||||||
|
|
||||||
function getImportModuleSpecifier(config: WorkspaceConfiguration): ModuleImportType {
|
function getImportModuleSpecifier(config: WorkspaceConfiguration): ModuleImportType {
|
||||||
let val = config.get('importModuleSpecifier')
|
let val = config.get('importModuleSpecifier')
|
||||||
switch (val) {
|
switch (val) {
|
||||||
|
case 'project-relative':
|
||||||
|
return 'project-relative'
|
||||||
case 'relative':
|
case 'relative':
|
||||||
return 'relative'
|
return 'relative'
|
||||||
case 'non-relative':
|
case 'non-relative':
|
||||||
return 'non-relative'
|
return 'non-relative'
|
||||||
default:
|
default:
|
||||||
return 'auto'
|
return undefined
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue