Nemerle и Resharper
От: Аноним  
Дата: 04.11.11 21:38
Оценка:
Ребята из JetBrains начали писать документацию по разработке плагинов к решарперу (напр. http://confluence.jetbrains.net/display/ReSharper/New+Language+Support) и заодно выложили ResharperSDK. В связи с этим вопрос: нет ли у кого желания прикрутить поддержку Nemerle к решарперу?
Re: Nemerle и Resharper
От: Аноним  
Дата: 05.11.11 06:24
Оценка: -1
Мертворожденная идея, имхо.
Re: Nemerle и Resharper
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.11.11 08:46
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ребята из JetBrains начали писать документацию по разработке плагинов к решарперу (напр. http://confluence.jetbrains.net/display/ReSharper/New+Language+Support) и заодно выложили ResharperSDK. В связи с этим вопрос: нет ли у кого желания прикрутить поддержку Nemerle к решарперу?


API JetBrains нам ничем не поможет. Он просто не рассчитан на язык типа немерла.

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

ЗЫ

Для нормальной поддержки интеллисенса нужно делать N2. В нем мы будем все проектировать с учетом поддержки интеллисенса и рефакторинга.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nemerle и Resharper
От: ionoy Эстония www.ammyui.com
Дата: 05.11.11 13:20
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>API JetBrains нам ничем не поможет. Он просто не рассчитан на язык типа немерла.


Это из-за того, что надо раскрывать макросы?
Было бы неплохо иметь поддержку хотя бы для стандартных C# фич, которые пересекаются с Немерле.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: Nemerle и Resharper
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.11.11 20:30
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Это из-за того, что надо раскрывать макросы?


От части — да. Но главное тут то, что нам придется повторить весь, очень не простой, компилятор. Например, его вывод типов. Мы конечно можем скопировать информацию из нашего представления в Psi-ное. Но что нам это даст? Ведь все рефакторинги придется писать заново. Это мы можем делать и на своем дереве.

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

I>Было бы неплохо иметь поддержку хотя бы для стандартных C# фич, которые пересекаются с Немерле.


На самом деле реальные проблемы из-за которых трудно реализовать некоторые виды рефакторинга заключаеются не в том, что нет модуля к ReSharper. Большей проблемой является то, что компилятор изначально не был рассчитан работу в IDE. Его, конечно, можно отрефакторить и устранить все проблемы, но объем работ опять же большой и требует ручного контроля.

Вместо этого мы проектируем N2 в котором все будет реализовано правильно. Парсинг и типизация будет описываться сверхвысокоуроневымы DSL-ями (то что я называю макросы второго поколения). Это позволит гарантировать, что все необходимая информация будет и будет легко доступна. Поддержка IDE и рефакторингов закладывается в дизайн N2. И скорее будет проще реализовать ReSharper для C#-а на N2, нежели рефакторинг для N2 на ReSharper. В прочем, N2 будущее. А в будущем все может круто поменяться.

В общем, если кто-то хочет попробовать свои силы в создании ReSharper-плагина для Nemerle, то никто против не будет. Но он должен понимать, что это очень сложная работа, возможно обреченная на провал.

У нас же на нее просто нет времени. Иначе мы никогда не зарелизим Nemerle 1.1, интеграцию для VS 2010-2011 и не приступим к Н2.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Nemerle и Resharper
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 08.11.11 05:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ionoy, Вы писали:


I>>Это из-за того, что надо раскрывать макросы?


VD>От части — да. Но главное тут то, что нам придется повторить весь, очень не простой, компилятор. Например, его вывод типов. Мы конечно можем скопировать информацию из нашего представления в Psi-ное. Но что нам это даст? Ведь все рефакторинги придется писать заново. Это мы можем делать и на своем дереве.


Рефакторинги, навигацию и др функции заново писать не придется при правильной реализации psi дерева,
но psi дерево стоит немалых усилий ...
Re[5]: Nemerle и Resharper
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.11.11 05:55
Оценка:
Здравствуйте, achmed, Вы писали:

A>Рефакторинги, навигацию и др функции заново писать не придется


Придется. К сожалению, придется. Большая часть рефакторингов пецифична для языка. У них у самих есть разные интеграции для Васика и Шарпа.

Навигация и так есть.

A> при правильной реализации psi дерева,

A>но psi дерево стоит немалых усилий ...

Да не дает оно ничего. У нас точно такое же, только специализированное для немерла, дерево есть. При том не одно.

Мы на нем, к примеру, Linq реализовали в виде макроса.

Так что проблемы у нас другие.
1. Нет тех кто мог бы выделено заняться рефакторингами.
2. Качество информации в наших деревьях не всегда хорошего качество.

Повторюсь, еще раз, в Н2 мы планируем решить эти проблемы радикальным образом.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Nemerle и Resharper
От: Аноним  
Дата: 15.11.11 23:42
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Навигация и так есть.


Файнд юзеджа толкового нету. И Ctrl+T (поиск класса) и Alt+Shift+T(поиск имени) решарперовские не пашут на немерловых исходниках. Я уже молчу по переходу к определению в проект написаный на С# (то же с файнд юзедж)

and vice versa
Re[7]: Nemerle и Resharper
От: Ziaw Россия  
Дата: 16.11.11 02:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Файнд юзеджа толкового нету. И Ctrl+T (поиск класса) и Alt+Shift+T(поиск имени) решарперовские не пашут на немерловых исходниках. Я уже молчу по переходу к определению в проект написаный на С# (то же с файнд юзедж)


А>and vice versa


Да нет, конечно решарпер нужен. Влад просто не работает с ним, видимо, и фишку не видит. Но это большой объем работы и надо чтобы кто-то это нашел время и начал его делать, а еще лучше чтобы закончил. Однозначно на Влада такую ношу возлагать не стоит.
Re[7]: Nemerle и Resharper
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.11.11 08:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Файнд юзеджа толкового нету.


Вообще-то есть. Насколько он толковый, это отдельный разговор. И толковость зависит не от поддержки какого-то там АПИ, а от качества сбора информации в компиляторе.

А>И Ctrl+T (поиск класса) и Alt+Shift+T(поиск имени) решарперовские не пашут на немерловых исходниках.


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

А>Я уже молчу по переходу к определению в проект написаный на С# (то же с файнд юзедж)


С этим проблема. Вот она, возможно, и решилась бы при реализации на Psi. Только ради одного этого вряд ли стоит убивать кучу времени. Единственное, что можно попытаться использовать Psi (при его наличии) для навигации в референс-проекты. Но решение не универсальное получается. А с появлением Рослина (если он появится, конечно) с мысла в этом вообще будет не много, так как Рослин предоставляет те же сервисиы и будет доступен в студии (и даже без нее) по умолчанию. В прочем, до рослиня, по моим прикидкам еще год два.
http://nemerle.org/Banners/?g=dark
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.