Re[2]: Небольшой отчет о сделанной работе
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.08.06 11:00
Оценка:
Здравствуйте, ie, Вы писали:

ie>Если метод Main не делать, а писать что-то вроде:

ie>
ie>using System.Console;

ie>WriteL // тут не пашет автодополнение
ie>

ie>То автодополнение не работает. Хотя в методе Main и других методах пока таких проблем не заметил.

Есть такая проблема. Точнее оно должно работать если вбить перед местом ввода хотя бы один оператор. Дело в том, что компилятор определяет тело методоа с помощью евристики "если встретили операторы, то это наверное тело безымянного метода. Так вот при вводе в начале блока глобального кода компилятор просто не знает, что мы пытаемся ввести выражения и принимает эту область за область деклараций. Это приводит к тому, что комплейшон-энжин получает информацию, что ввод идет не в методе.

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

И так работы еще море. Еще нужно переделывать внутренности комапилятора, чтобы они показывали всю нужную информацию и при этом небыло ошибок. Плюс есть проблемы с производительностью которые требуют совершенсвования механизма отслеживания изменений кода в редактироуемом файле. Сейчас при изменении в любой части файла происходит перепарсивание этого файла и семантическая обработка всех файлов проекта. А надо сделать так, чтобы изменения в рамках одного метода приводили бы только к изменению информации о положениях методов в файле. Это позволит при вводе кода в тела метода производить семантический анализ только этого метода. Ну, а это будет гарантировать приемлемую скорость даже на огромных проектах.

Все это объемные и сложные задачи. Их нужно решать в первую очередь. А мелочи вроде комплита в автометодах потом как-нибудь устраним.

ЗЫ

Кстати, еще раз напомню, что мы бы не отказались от помощи.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.