#visual-studio-code #vscode-extensions
#visual-studio-code #vscode-расширения
Вопрос:
Некоторые виды текста представлены в закодированной форме, я хочу преобразовать их все в форму UTF8. Например, преобразовать "测试"
в "测试"
, но также не изменять файл, значение "测试"
отображается как "测试"
, пока я его не отредактирую.
Есть ли способ сделать это?
Я пытался activeEditor.setDecorations()
, но это может только изменить стиль, а также не может скрыть исходный текст. Я также пробовал HoverProvider
— это помогает, но это не совсем то, что я хочу.
Ответ №1:
Это действительно возможно с помощью оформления (по крайней мере, сейчас в 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