Включить проверку / проверку синтаксиса Python в редакторе ace - PullRequest
0 голосов
/ 13 февраля 2019

В моем веб-приложении я использую редактор ace с режимом python, как показано ниже:

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, мне нужно показать подтверждение, как показано ниже:

HTML Syntax validation

В редакторе ace есть проверка синтаксиса / проверка HTML, JavaScript.Но в моем случае мне нужно показать ошибки для python, и я открыт для использования других редакторов, которые поддерживают мое требование, и я открыт для использования act-ace также, в реагировать-ace, can 'Демонстрацию решения проблемы можно найти на Reaction-ace

. Я наткнулся на эту Issue , где говорится, что Cloud9 использует pylint для отображения синтаксических ошибок.Если да, то как включить это в веб-приложении, и я думаю, что у ace нет встроенной поддержки для этого?Любая помощь / руководство по этому действительно полезно

1 Ответ

0 голосов
/ 07 апреля 2019

Я могу придумать пару вариантов:

  1. Вы можете найти парсер Python, написанный на Javascript.Быстрый поиск Google нашел фундук для меня.Я ожидаю, что есть и другие.
  2. Используйте полную реализацию Python, которая запускается в браузере, затем используйте инструменты Python для проверки.Я использовал проект Pyodide для создания версии моего Live Coding на Python в браузере .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...