#typescript #autocomplete #docstring #language-server-protocol
Вопрос:
Есть ли способ динамически генерировать аннотации/строки документов из значений объектов в TypeScript?
У меня есть translations.json
файл, который выглядит примерно так:
{
"hello": { "en": "hello", "de": "hallo" },
"bye": { "en": "bye", "de": "tschüss" }
}
И translate.ts
это выглядит так:
import type translations from './translations.json';
type TranslationKey = keyof typeof translations;
function translate(key: TranslationKey){
// some translation code
}
С помощью этого я получаю все ключи JSON-объекта в качестве предложений по завершению, когда я использую функцию translate()
frunction.
Теперь мой вопрос: возможно ли динамически генерировать какую-либо строку документа из значений свойств json? Так что во всплывающем окне «Предложение» моего редактора значения отображаются в качестве дополнительной информации.
Желаемый результат в редакторе:
translate('<cursor>
╭───────╮╭───────────────╮
│bye >├┤bye │
│hello ││───────────────│
╰───────╯│TranslationKey │
│en: bye │
│de: tschüss │
╰───────────────╯
Ответ №1:
Эти записи завершения JSON создаются поставщиком завершения JSON vscode, который не может быть настроен для создания этих элементов определенным образом. Единственный способ изменить результат завершения-это написать собственный поставщик завершения (что, вероятно, слишком много работы для такого простого результата).