Пользуюсь постоянно подобным поведением в MPS (пары интерфейс и реализация) — исключительно удобно. Сделал это для AS, потому что это действительно удачная и полезная идея.
У вас замечательный и очень революционный редактор! Единственное, что меня оттолкнуло от одной из бета-версий: я привык между методами ставить вот такую штуку:
// ================================= //
Это у меня ещё с С++ Builder осталось, со студенческих времён. Теперь без такой штуки просто код неудобно читать, ничего не могу с собой поделать. В вашем редакторе не получилось этого сделать. Хотя, может я просто не нашёл нужный функционал.
Тут не текст, поэтому просто что-то добавить нельзя. Но можно добавить маленькое языковое расширение, которое это позволит сделать. Повод подумать о небольшом туториале-статье.
Подскажите, как такое сделать!:) Я бы с удовольствием купил релиз-версию.
Просто так вышло, что такая вот линия между методами — это принципиальная вещь для меня.
Хм… В двух словах както сложно объяснить. Мы прямо сейчас пишем статьи о создании языковых расширений и обязательно раскроем этот вопрос в ближайших статьях.
Это не LOP-way. А я на этом пути. Я пишу языковые расширения, потому что это основная фича, путь и задача среды.
Расширения хороши тем, что потом кто-то может подменить поведение и языка-расширения. Того же генератора, например. Манипуляции с байткодом не выглядят настолько прозрачно для пользователя. IMHO.
Редактор не имеет текста. Как следствие форматирования. Но зная реальную сложности восприятия фигурных скобок, людей из разных «школ форматирования» функционал по выбору отображения имено скобок будет. Но не более того. Возможно потом мы предоставим инструменты для выбора отображения и других элементов.
Лучше почитать вводную статью. Вопросы форматирования кода совсем из другого мира :) Редактор напрямую редактирует AST. А код в редакторе лишь отображение AST. Причем одна из версий отображений. Потом можно создавать свои версии отображения. Например, отказаться от скобок совсем. Или показывать код в виде диаграммы. И иметь возможность переключаться между представлениями кода.
Может это кому то и пригодится. Вообще по моему практическому опыту программирования. Очень редко когда я использовал интерфейсы, и то когда писал свой 3д двиг. В рабочих проектах — никогда, хотя есть достаточно серьезные.
Трейты добавляют путаницы… Куча каких то копий непонятных. Может легче сделать еще изящнее. Прям в интерфейсе там где объявление метода, сделать его и реализацию, будет меньше путанницы. Еще было бы прикольно если бы у интерфейса были переменные. А еще лучше делать наследование от нескольких классов и не заморачиваться с интерфейсами.
В RASE бедет несколько пустей это сделать. Один из путей — это трейты, которые очень сделаны очень аккуратно по отношению к OOP представлениям большинства пользователей. По сути это более удобная композиция. Потом будет язык для AOP, который добавит больше чертовщинки в акшенскрипт. А уж для совсем «безбашенных» мы сделаем язык mixin, который позволит делать всякие другие полезные, но уже более рисковые и неочевидные штуки. На любой вкус. Выбор за разработчиком и командами.
Множественное наследование в ActionScript. Язык Traits в RASE Beta 10