我知道monaco编辑器可以根据您的自定义规则自动完成提示。但是我不知道如何自动完成基于名称空间的提示;
像这样:
答案 0 :(得分: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"
});