某些类型的文本采用编码形式,我想将它们全部转换为UTF8形式。
例如将"%E6%B5%8B%E8%AF%95"
转换为"测试"
,但也不要更改文件,这意味着"%E6%B5%8B%E8%AF%95"
会显示为"测试"
,直到我对其进行编辑。
有办法吗?
我尝试过activeEditor.setDecorations()
,但它只能更改样式,也不能隐藏原始文本。我也尝试过HoverProvider
-可以,但这并不是我想要的。
答案 0 :(得分:0)
这确实可以通过使用装饰来实现(至少现在在 1.52.1 中)。
我们可以使用 before
或 after
属性添加文本。
我们可以通过将其 opacity
设置为 0
并通过使用负值将 letterSpacing
的有效宽度减小到 0 来隐藏原始文本。
const replacementDecoration = vscode.window.createTextEditorDecorationType({
opacity: '0',
letterSpacing: '-100px',
before: {
contentText: 'test',
}
})
https://code.visualstudio.com/api/references/vscode-api#DecorationRenderOptions