在Codemirror中自动完成Python?
我正在尝试为Python语言的Codemirror设置一个自动完成功能。不幸的是,Codemirror似乎只包含Javascript关键术语完成所需的文件 是否有人为CodeMirror构建了类似的Python提示文件在Codemirror中自动完成Python?,python,autocomplete,codemirror,Python,Autocomplete,Codemirror,我正在尝试为Python语言的Codemirror设置一个自动完成功能。不幸的是,Codemirror似乎只包含Javascript关键术语完成所需的文件 是否有人为CodeMirror构建了类似的Python提示文件 (编辑以备将来参考:)我是Codemirror(1和2)Python解析器的原始作者。Python解析器没有为自动完成提供足够的信息,这是正确的。当Codemirror 2出现时,我试图将其构建到解析器中,但事实证明这对我当时的JS技能来说太难了 我现在有了更多的技能,但时间却少
(编辑以备将来参考:)我是Codemirror(1和2)Python解析器的原始作者。Python解析器没有为自动完成提供足够的信息,这是正确的。当Codemirror 2出现时,我试图将其构建到解析器中,但事实证明这对我当时的JS技能来说太难了
我现在有了更多的技能,但时间却少得多。也许有一天我会回到过去。或者,如果有人想使用它,我很乐意提供帮助。我使用来自codemirror 3的基于pig提示的js启动python自动完成 您可以获得
python hint.js
要工作,您需要在html中输入以下内容:
simple-hint、js
和python-hint.js
,simple-hint.css
pluscodemirr.js
<script>
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.simpleHint(cm, CodeMirror.pythonHint);
}
</script>
CodeMirror.commands.autocomplete=函数(cm){
CodeMirror.simpleHint(cm,CodeMirror.pythonHint);
}
python-hint.js
是我今天创建的一个基本的js,没有深入讨论。Add,show-hint.js,show-hint.css。然后
var editor = CodeMirror.fromTextArea(your editor instance codes here;
editor.on('inputRead', function onChange(editor, input) {
if (input.text[0] === ';' || input.text[0] === ' ' || input.text[0] === ":") {
return;
}
editor.showHint({
hint: CodeMirror.pythonHint
});
});
您也可以通过这种方式进行初始化,将extraKeys参数添加到CodeMirror初始化:
CodeMirror(function(elt) {
myTextArea.parentNode.replaceChild(elt, myTextArea);
}, {
mode: "python",
lineNumbers: true,
autofocus: true,
extraKeys: {"Ctrl-Space": "autocomplete"}
});