在我试图构建的项目中,我使用了编辑器代码 . 我尝试使用摩纳哥编辑器 .

我希望编辑器支持的主要内容是:

  • 标记我的自定义语言关键字,功能等...

  • intellisense为我的自定义语言 .

  • 预览功能参数 .

那么现在:

  • 我在官方网站上仔细查看了摩纳哥编辑的例子 .

  • 结果非常接近我所寻找的但是 main problem 对我来说是虽然我在我的代码中添加noLib选项但还有其他关键字,请参见下图 . https://imgur.com/pwDikZI

  • 其他事情有效 . 见图https://imgur.com/0c4K8wE

  • 我知道因为我使用了javascript / typescript语言模式,标记是有问题的 .

这是我写的代码:

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附加关键字,以便用户只能看到我的自定义语言?

  • 有一种方法可以像在摩纳哥编辑器示例中那样使用自定义语言并添加功能预览,就像我上面显示的图片一样? (不使用js / ts语言) .