gpt4 book ai didi

visual-studio-code - 如何使嵌套的 Markdown 项目符号列表在 vscode 中具有不同的项目符号样式

转载 作者:行者123 更新时间:2023-12-04 04:33:02 24 4
gpt4 key购买 nike

我想在 Markdown 中使用带有项目符号而不是星号 (*) 字符的 vscode 渲染列表,以便顶层使用 •,下一个使用 ◦ 等。

我的第一种方法是用 FontForge 创建一个连字字体,用 ◦ 替换 *,用 ◦ 替换空格加 *,用 ▪ 替换两个空格加 *,等等,但使用连字有一个明显的问题,它不是上下文敏感的,所以所有星号将被替换,而不仅仅是引导一行的星号。

看着vscode text decoration API ,似乎仅限于更改字体样式和颜色,而不是字体系列。有什么方法可以直观地替换 vscode 中的字符吗?它们仍应在源代码中保存为星号才能有效 Markdown 。

最佳答案

从 VS Code 1.27 开始,最好的办法是编写一个扩展,在 * 上添加装饰器。字符来执行此操作。看看decorator example extension开始

我认为当前的 vscode API 不允许您覆盖 *文本本身,但您可以尝试通过制作 * 来模拟这一点。字符透明并在其后添加您的自定义项目符号:

const level1DecorationType = vscode.window.createTextEditorDecorationType({
color: 'transparent',
after: {
contentText: "◦"
}
});

然后,您的扩展程序只需将此样式应用于文档中的项目符号即可。

非正式地,您也可以使用此装饰器 hack 来替换 *性格完全:

const level1DecorationType = vscode.window.createTextEditorDecorationType({
color: 'transparent',
textDecoration: `none; display: inline-block; width: 0;`,
after: {
contentText: "◦"
}
});

但是,这不能保证正常工作或将来继续工作。

考虑 opening a feature request获得更好的装饰者对此的支持

关于visual-studio-code - 如何使嵌套的 Markdown 项目符号列表在 vscode 中具有不同的项目符号样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52062879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com