Autocomplete CodeMirror:如何向sql提示添加表?
我不知道如何向codemirror添加表。我已经包含了sql-hint.js,并且可以处理关键字,但不了解如何添加表和列…遗憾的是,这似乎在任何地方都没有文档记录 通过一些尝试和错误,我发现在调用hinter时,可以将表名和列名的结构作为选项传入,如下所示:Autocomplete CodeMirror:如何向sql提示添加表?,autocomplete,codemirror,Autocomplete,Codemirror,我不知道如何向codemirror添加表。我已经包含了sql-hint.js,并且可以处理关键字,但不了解如何添加表和列…遗憾的是,这似乎在任何地方都没有文档记录 通过一些尝试和错误,我发现在调用hinter时,可以将表名和列名的结构作为选项传入,如下所示: CodeMirror.commands.autocomplete = function(cm) { CodeMirror.showHint(cm, CodeMirror.hint.sql, { tables: {
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.showHint(cm, CodeMirror.hint.sql, {
tables: {
"table1": [ "col_A", "col_B", "col_C" ],
"table2": [ "other_columns1", "other_columns2" ]
}
} );
}
我知道这个问题有点老了,但是..我发现了一个有趣的方法,在4.3版本中有效(我不知道关于旧版本的任何信息):只需添加“codemirr.hint.sql”值(不带引号,作为函数)作为“hint”选项,并添加“tables”对象作为“hintOptions”对象中定义的子对象 比如:
CodeMirror.fromTextArea(document.getElementsByTagName(“textarea”)[0]{
模式:“文本/x-sql”,
外键:{“Ctrl空格”:“autocomplete”},//调用自动完成
提示:CodeMirror.hint.sql,
提示:{
表:{
“表1”:[“A列”、“B列”、“C列”],
“表2”:[“其他栏1”、“其他栏2”]
}
}
});
就这样。请注意,“extraKeys”是绝对不需要的,但我发现更容易测试autocomplete非常好。=)
祝你好运 问题是,这只适用于没有引号的情况。一旦我输入
“tabl
,按CTRL+Space,然后选择table1
,它就会变成“tabletable1
。更糟糕的是,我将其更正为“table1”
,然后autocomplete无法提出“col_A”
…您好,我是这里的新手。我在codemirror版本5.60.0上试过这个,似乎没有显示表列。也许语法已经改变了