当前位置: 代码迷 >> JavaScript >> 在 ace 编辑器中启用 Python 语法验证/检查器
  详细解决方案

在 ace 编辑器中启用 Python 语法验证/检查器

热度:33   发布时间:2023-06-12 13:59:55.0

在我的 Web 应用程序中,我使用的是带有 python 模式的 ace 编辑器,如下所示:

 var editor = ace.edit('aceEditor'); editor.setTheme("ace/theme/monokai"); editor.getSession().setMode("ace/mode/python"); editor.getSession().setUseWorker(false); editor.setHighlightActiveLine(false); editor.setShowPrintMargin(false); ace.require("ace/ext/language_tools"); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true }); editor.setBehavioursEnabled(true); editor.setValue(`n=int(input("Enter the number of elements to be inserted: ")) a=[] for i in range(0,n): elem=int(input("Enter element: ")) a.append(elem) avg=sum(a)/n prin("Average of elements in the list",round(avg,2))`, -1);
 #aceEditor { width: 100%; height: 260px; border: "1px solid #ddd"; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"></script> <div id="aceEditor"></div>

如果print错误地通过用户输入,我需要证明的验证象下面这样:

ace 编辑器对 HTML、JavaScript 进行语法验证/检查。 但是就我而言,我需要显示 python 的错误,并且我愿意使用支持我的要求的其他编辑器,并且我也愿意使用 ,在 react-ace 中,找不到解决方案演示

我遇到了这个,它指出 Cloud9 使用 pylint 来显示语法错误。 如果是这样,如何在网络应用程序中启用它,我猜 ace 没有对此的内置支持? 任何有关这方面的帮助/指南都非常有帮助

我可以想到几个选项:

  1. 您可以找到用 Javascript 编写的 Python 解析器。 一个快速的谷歌搜索为我找到了。 我希望还有其他人。
  2. 使用在浏览器中运行的完整 Python 实现,然后使用 Python 工具进行验证。 我使用构建了我的的浏览器版本。