提交 b976cc9f 编写于 作者: R Rob Lourens

Fix #57385 for hidden TOC mode and settings with markdown lists

上级 b03414b6
......@@ -115,15 +115,23 @@
display: none;
}
.settings-editor.search-mode > .settings-body .settings-tree-container .monaco-tree-wrapper,
.settings-editor.search-mode > .settings-body .settings-tree-container .monaco-tree-wrapper {
width: calc(100% - 11px);
margin-left: 0px;
}
.settings-editor.search-mode > .settings-body > .settings-tree-container .setting-measure-container {
width: calc(100% - 33px);
margin-left: 0px;
}
.settings-editor.narrow > .settings-body .settings-tree-container .monaco-tree-wrapper {
width: calc(100% - 11px);
margin-left: 0px;
}
.settings-editor.narrow > .settings-body .settings-tree-container .monaco-tree-wrapper,
.settings-editor.narrow > .settings-body > .settings-tree-container .setting-measure-container {
width: calc(100% - 11px);
width: calc(100% - 33px);
margin-left: 0px;
}
......
......@@ -470,20 +470,35 @@ export class SettingsRenderer implements ITreeRenderer {
this.descriptionMeasureContainer.classList.remove(boolMeasureClass);
}
// Remove markdown links, setting links, backticks
const measureText = element.setting.descriptionIsMarkdown ?
fixSettingLinks(element.description)
.replace(/\[(.*)\]\(.*\)/g, '$1')
.replace(/`([^`]*)`/g, '$1') :
element.description;
this.descriptionMeasureContainer.innerText = measureText;
const h = this.descriptionMeasureContainer.offsetHeight;
if (h < 20 && measureText.length > this.longestSingleLineDescription) {
this.longestSingleLineDescription = measureText.length;
const shouldRenderMarkdown = element.setting.descriptionIsMarkdown && element.description.indexOf('\n- ') >= 0;
while (this.descriptionMeasureContainer.firstChild) {
this.descriptionMeasureContainer.removeChild(this.descriptionMeasureContainer.firstChild);
}
return h;
if (shouldRenderMarkdown) {
const text = fixSettingLinks(element.description);
const rendered = renderMarkdown({ value: text });
rendered.classList.add('setting-item-description-markdown');
this.descriptionMeasureContainer.appendChild(rendered);
return this.descriptionMeasureContainer.offsetHeight;
} else {
// Remove markdown links, setting links, backticks
const measureText = element.setting.descriptionIsMarkdown ?
fixSettingLinks(element.description)
.replace(/\[(.*)\]\(.*\)/g, '$1')
.replace(/`([^`]*)`/g, '$1') :
element.description;
this.descriptionMeasureContainer.innerText = measureText;
const h = this.descriptionMeasureContainer.offsetHeight;
if (h < 20 && measureText.length > this.longestSingleLineDescription) {
this.longestSingleLineDescription = measureText.length;
}
return h;
}
}
getTemplateId(tree: ITree, element: SettingsTreeElement): string {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册