Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Codemirror中自动完成Python?_Python_Autocomplete_Codemirror - Fatal编程技术网

在Codemirror中自动完成Python?

在Codemirror中自动完成Python?,python,autocomplete,codemirror,Python,Autocomplete,Codemirror,我正在尝试为Python语言的Codemirror设置一个自动完成功能。不幸的是,Codemirror似乎只包含Javascript关键术语完成所需的文件 是否有人为CodeMirror构建了类似的Python提示文件 (编辑以备将来参考:)我是Codemirror(1和2)Python解析器的原始作者。Python解析器没有为自动完成提供足够的信息,这是正确的。当Codemirror 2出现时,我试图将其构建到解析器中,但事实证明这对我当时的JS技能来说太难了 我现在有了更多的技能,但时间却少

我正在尝试为Python语言的Codemirror设置一个自动完成功能。不幸的是,Codemirror似乎只包含Javascript关键术语完成所需的文件

是否有人为CodeMirror构建了类似的Python提示文件


(编辑以备将来参考:)

我是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
    plus
    codemirr.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"}
        });