diff --git a/src/core/variable-convert/cyclic-conversion.ts b/src/core/variable-convert/cyclic-conversion.ts index 9398a4c..0ebfc72 100644 --- a/src/core/variable-convert/cyclic-conversion.ts +++ b/src/core/variable-convert/cyclic-conversion.ts @@ -1,6 +1,6 @@ import * as vscode from 'vscode'; import { EOL } from "../../types/EOLType"; -import { cyclicConvertCaseOrder } from "./types/SupportVariableCaseType"; +import { cyclicConvertCaseOrder, settingsKeyToEnableSettingsKey } from "./types/SupportVariableCaseType"; import { caseConversion } from "./conversion"; import { isStringArrayEqual, stringListArrayDuplicateRemoval } from '../../utils/utils'; import { getUserConfigurations } from '../../utils/user-configuration'; @@ -79,7 +79,12 @@ function lazyConvert() { for (const cyclicConvertCase of cyclicConvertCaseOrder) { // issue: #1 https://github.com/coder-xiaomo/variable-conversion-vscode-extension/issues/1 // 跳过禁用的目标格式 - if (enabledFormats[cyclicConvertCase.settingsKey] === false) { + const enableSettingsKey = settingsKeyToEnableSettingsKey.get(cyclicConvertCase.settingsKey); + if (!enableSettingsKey) { + console.warn('Cannot find enableSettingsKey for settingsKey:', cyclicConvertCase.settingsKey); + continue; + } + if (enabledFormats[enableSettingsKey] !== true) { continue; } diff --git a/src/core/variable-convert/types/SupportVariableCaseType.ts b/src/core/variable-convert/types/SupportVariableCaseType.ts index dc03de6..62fa365 100644 --- a/src/core/variable-convert/types/SupportVariableCaseType.ts +++ b/src/core/variable-convert/types/SupportVariableCaseType.ts @@ -417,6 +417,12 @@ export const commands: Array = [ }, ]; +// settingsKey 到 enableSettingsKey 的映射 +export const settingsKeyToEnableSettingsKey = new Map(); +commands.forEach(command => { + settingsKeyToEnableSettingsKey.set(command.settingsKey, command.enableSettingsKey); +}); + export interface QuickPickSupportCaseItem { type: SupportVariableCase, name: string, diff --git a/src/handler/variable-convert/quick-pick-handler.ts b/src/handler/variable-convert/quick-pick-handler.ts index 4697775..27ba2f7 100644 --- a/src/handler/variable-convert/quick-pick-handler.ts +++ b/src/handler/variable-convert/quick-pick-handler.ts @@ -1,6 +1,6 @@ import * as vscode from 'vscode'; import QuickPickItemEx from "../types/QuickPickItemExType"; -import { QuickPickSupportCaseItem, quickPickSupportCases } from '../../core/variable-convert/types/SupportVariableCaseType'; +import { QuickPickSupportCaseItem, quickPickSupportCases, settingsKeyToEnableSettingsKey } from '../../core/variable-convert/types/SupportVariableCaseType'; import { TransformTextResult } from '../../types/TransformTextResultType'; import { transformMultiSelectionText } from '../../utils/transform'; import { EOL } from '../../types/EOLType'; @@ -104,7 +104,12 @@ export function handleQuickPick() { // issue: #1 https://github.com/coder-xiaomo/variable-conversion-vscode-extension/issues/1 const enabledQuickPickSupportCases = []; for (const quickPick of quickPickSupportCases) { - if (enabledFormats[quickPick.settingsKey] === false) { + const enableSettingsKey = settingsKeyToEnableSettingsKey.get(quickPick.settingsKey); + if (!enableSettingsKey) { + console.warn('Cannot find enableSettingsKey for settingsKey:', quickPick.settingsKey); + continue; + } + if (enabledFormats[enableSettingsKey] !== true) { continue; } enabledQuickPickSupportCases.push(quickPick);