В проекте, который я пытаюсь создать, я использовал код редактора. я пытаюсь использовать редактор монако.
Главное, что я хочу, чтобы редактор поддерживал:
- отметить ключевые слова, функции и т. д. на моем настраиваемом языке ...
- intellisense для моего пользовательского языка.
- параметры функций предварительного просмотра.
Итак, теперь:
Я внимательно просмотрел примеры редактора monaco на официальном сайте.
Результаты очень близки к тому, что я искал, но основная проблема для меня заключается в том, что, хотя я добавляю в свой код параметры noLib, есть дополнительные ключевые слова, см. Изображение ниже. https://imgur.com/pwDikZI
- Остальное работает. см. изображение https://imgur.com/0c4K8wE
- Я знаю, что, поскольку я использовал языковой режим javascript / typescript, с маркировкой проблематично.
This is the code that i wrote:
require.config({paths: {'vs': 'lib/package/min/vs'}});
require(['vs/editor/editor.main'], function() {
let editor = monaco.editor.create(document.getElementById('editor'), {
language: 'typescript',
minimap: {enabled: false},
});
monaco.languages.typescript.typescriptDefaults.addExtraLib([
'declare function Foo(a: number,b: number, name: string (optional)) :void',
'const someString: string ',
].join('\n'));
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
noLib: true,
allowNonTsExtensions: true,
});
editor.updateOptions({fontSize: 20});
});
Мои вопросы:
- Есть ли способ отключить дополнительные ключевые слова javascript / typescript, чтобы пользователь мог видеть только мой собственный язык?
- Есть ли способ использовать собственный язык, как в примерах редактора monaco, и добавить предварительный просмотр функций, как на картинке, которую я показываю выше? (без использования языков js / ts).