Подтвердить что ты не робот

Автозаполнение в редакторе ACE

Я нашел simmilar вопрос: Автозаполнение автозапуска Ace и несколько языков

Но ответы заключались в том, что автозаполнение не поддерживается ACE, и согласно группа Google для редактора Ace" Это для меня Туз и нам это обязательно нужно для Cloud9 ".

Этот пост - один год, и, как вы можете видеть, облако9 теперь поддерживает автозаполнение: https://c9.io/site/features/

Так автозаполнение доступно в редакторе Ace по умолчанию? Я не могу найти никакой информации об этом.

4b9b3361

Ответ 1

Autocomplete теперь является официальной частью API. Включение этого требует 3 строки кода:

ace.require("ace/ext/language_tools");
var editor = ace.edit("editor");
editor.setOptions({
    enableBasicAutocompletion: true
});

В зависимости от вашей установки с require-js вам также может потребоваться добавить дополнительный файл javascript в html для вашей страницы:

<script src="ace/ext-language_tools.js"></script>

Вы можете найти демо на https://github.com/ajaxorg/ace/blob/master/demo/autocompletion.html

И вот страница wiki, которую я только что написал по теме:

https://github.com/ajaxorg/ace/wiki/How-to-enable-Autocomplete-in-the-Ace-editor

Ответ 2

Автозаполнение по-прежнему недоступно для Ace, однако мы внедрили компонент, который делает это для Codiad IDE, который основан на Ace и полностью Открытый исходный код. Вы можете проверить код на Github, он, несомненно, поможет вам написать свой собственный.

Ответ 3

Так как Autocomplete теперь является частью ACE api:

1) Включите ace.js вверху вашего html:

  <script type="text/javascript" src="js/ace.js"></script>

2) Также включите свой режим (тип языка):

  <script type="text/javascript" src="js/mode-yaml.js"></script>

3) Также укажите theme:

  <script type="text/javascript" src="js/theme-monokai.js"></script>

4) Также включите ex-language_tools.js:

  <script src="js/ext-language_tools.js"></script>

5) Добавьте свой div с редактором id (это станет вашей IDE):

  <div id="editor"></div>

6) Включите следующее script (см. мои комментарии, чтобы понять их):

  <script>
    var langTools = ace.require("ace/ext/language_tools");

Строка ниже преобразует ваш div с id = "editor" в редактор

  var editor = ace.edit("editor"); 

В строке ниже задается цветовая тема. Другие темы здесь... попробуйте их здесь

editor.setTheme("ace/theme/monokai"); 

Строка ниже устанавливает режим, основанный на языке программирования... другие режимы здесь:

editor.getSession().setMode("ace/mode/yaml");


    editor.setShowPrintMargin(false);

Строки ниже включают автозаполнение в режиме реального времени.

editor.setOptions({
    enableBasicAutocompletion: true,
    enableSnippets: true,
    enableLiveAutocompletion: false
});

Таким образом, все это можно разбить на следующие:

<!DOCTYPE html>
<html>
<head>
  <title>IDE AUTOCOMPLETE</title>
  <link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.min.css">
  <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
  <script type="text/javascript" src="js/ace.js"></script>
  <script type="text/javascript" src="js/mode-yaml.js"></script>
  <script type="text/javascript" src="js/theme-monokai.js"></script>
  <script src="js/ext-language_tools.js"></script>
</head>
<body>
  <!-- EDITOR SECTION BELOW! -->
  <div id="editor"></div>
  <script>
    var langTools = ace.require("ace/ext/language_tools");
    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/monokai");
    editor.getSession().setMode("ace/mode/yaml");
    editor.setShowPrintMargin(false);
    editor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: false
    });
  </script>
  <!-- EDITOR SECTION ABOVE -->
</body>
</html>

Ответ 4

AjaxOrg нажал фиксацию в своем репозитории Cloud9 со следующим сообщением:

Модуль завершения кода

Я предполагаю, что это будет ответом на этот вопрос.

Здесь является фиксацией.


Кроме того, я думаю, что этот - хороший проект, который может нам помочь.

Для получения дополнительной информации мы можем следовать сообщению эта проблема открыта в репозитории Cloud9.

Ответ 5

Обязательно выполните следующие импортные операции

require('ace/ext/language_tools');
require('ace/multi_select');

Использовать по фрагменту по мере необходимости

editor.setOptions({
            enableBasicAutocompletion: true,
            enableSnippets: true,
            enableLiveAutocompletion: true
        });

Ответ 6

В настоящее время он недоступен в любой форме. Согласно этому вопросу: https://github.com/ajaxorg/ace/issues/1031

Автозаполнение доступно только в Cloud9 IDE (которое основано на ACE) и может быть доступно позже в качестве отдельного плагина для редактора ACE.