Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
848 views
in Technique[技术] by (71.8m points)

visual studio code - monaco editor based namespace auto complete

I know monaco editor can auto complete hints according to your custom rules.But I don't know how to auto complete based namespace;

like this:

enter image description here

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
// 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('
'), 'filename/facts.d.ts');

var jsCode = [
    ''
].join('
');

monaco.editor.create(document.getElementById("container"), {
    value: jsCode,
    language: "javascript"
});

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...