首页 文章

基于monaco编辑器的命名空间自动完成

提问于
浏览
0

我知道摩纳哥编辑可以根据你的自定义规则自动完成提示 . 但我不知道如何自动完成基于命名空间;

像这样:

enter image description here

1 回答

  • 0
    // Add additonal d.ts files to the JavaScript language service and change.
    // Also change the default compilation options.
    // The sample below shows how a class Facts is declared and introduced
    // to the system and how the compiler is told to use ES6 (target=2).
    
    // validation settings
    monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
        noSemanticValidation: true,
        noSyntaxValidation: false
    });
    
    // compiler options
    monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
        target: monaco.languages.typescript.ScriptTarget.ES6,
        allowNonTsExtensions: true
    });
    
    // extra libraries
    monaco.languages.typescript.javascriptDefaults.addExtraLib([
        'namespace test{',
        '/** custom variable',
        ' *',
        ' */',
        'declare interface custom {',
        '/** id html */',
        'id :string;',
        '};',
        '',
        '/** this function does something strange ...',
        ' * @param i my custom variable',
        ' */',
        'declare function MyCustomFunction(i :custom) :void;',
        '}'
    ].join('\n'), 'filename/facts.d.ts');
    
    var jsCode = [
        ''
    ].join('\n');
    
    monaco.editor.create(document.getElementById("container"), {
        value: jsCode,
        language: "javascript"
    });
    

    https://jsfiddle.net/hec12da1/62/

相关问题