diff --git a/src/vs/workbench/parts/preferences/browser/settingsTree.ts b/src/vs/workbench/parts/preferences/browser/settingsTree.ts index c2492110f960f5f930dca23d9339a2d34a0b4196..2d84b3ac8c2cf615f819995eb811c7a63b2f006f 100644 --- a/src/vs/workbench/parts/preferences/browser/settingsTree.ts +++ b/src/vs/workbench/parts/preferences/browser/settingsTree.ts @@ -439,6 +439,7 @@ export interface ISettingChangeEvent { export class SettingsRenderer implements IRenderer { private static readonly SETTING_ROW_HEIGHT = 94; + private static readonly SETTING_BOOL_ROW_HEIGHT = 61; private readonly _onDidChangeSetting: Emitter = new Emitter(); public readonly onDidChangeSetting: Event = this._onDidChangeSetting.event; @@ -466,13 +467,21 @@ export class SettingsRenderer implements IRenderer { if (isSelected) { return this.measureSettingElementHeight(tree, element); } else { - return SettingsRenderer.SETTING_ROW_HEIGHT; + return this._getUnexpandedSettingHeight(element); } } return 0; } + _getUnexpandedSettingHeight(element: SettingsTreeSettingElement): number { + if (element.valueType === 'boolean') { + return SettingsRenderer.SETTING_BOOL_ROW_HEIGHT; + } else { + return SettingsRenderer.SETTING_ROW_HEIGHT; + } + } + private measureSettingElementHeight(tree: ITree, element: SettingsTreeSettingElement): number { const measureHelper = DOM.append(this.measureContainer, $('.setting-measure-helper')); @@ -482,7 +491,7 @@ export class SettingsRenderer implements IRenderer { const height = this.measureContainer.offsetHeight; this.measureContainer.removeChild(this.measureContainer.firstChild); - return Math.max(height, SettingsRenderer.SETTING_ROW_HEIGHT); + return Math.max(height, this._getUnexpandedSettingHeight(element)); } getTemplateId(tree: ITree, element: SettingsTreeElement): string {