Нужна помощь Scala - завершение кода - PullRequest
2 голосов
/ 21 октября 2011

Я работаю над написанием IDE для Scala и мне нужна помощь.Я хотел бы реализовать помощь в кодировании, чтобы я мог представить список опций, когда пользователь нажимает точку (".") Или пробел ("").например, проекты являются списком, как только пользователь вводит «проекты».или "проекты", я хотел бы показать все методы scala.List, которые он мог бы использовать (обычные вещи IDE).Я знаю, что пакет scala.tools.nsc.interactive предоставляет такую ​​возможность, но я не могу понять, как это сделать.Кроме того, кажется, что интерактивный пакет будет использовать REPL и будет медленным для этой цели.Это правильное предположение, и если да, есть ли альтернативы?

Кроме того, есть ли способ, которым я мог бы получить дерево ссылок на вызов для литерала / метода (где все это метод, упомянутый в кодебаза)?

Спасибо и наилучшими пожеланиями Айшвария

Ответы [ 2 ]

2 голосов
/ 21 октября 2011

Да, компилятор презентаций в scala.tools.nsc.interactive - это то место, где будут использоваться повторно используемые функции.

Компилятор презентаций используется Eclipse и ENSIME .Может быть, сама ENSIME, которая помимо поддержки emacs также предоставляет сервер в качестве бэкэнда для редактора, была бы хорошим способом.

Компилятор представления не медленный.Он был спроектирован с нуля, чтобы обеспечить хорошую производительность для Eclipse, и в основном достиг этой цели.

Некоторые возможности компилятора презентации см. В scala.tools.nsc.interactive.CompilerControl .

Для другого проекта, использующего ENSIME, посмотрите на плагин Даниэля Спивака для jEdit.

2 голосов
/ 21 октября 2011

Что ж, ваш лучший выбор - использовать тот же набор ссылок, который я предоставил в ответ на на этот вопрос , хотя вопросы разные.

...