Есть ли какой-нибудь плагин для IDE или Visual Studio / Mono / SharpDevelop для бесшумного C #? - PullRequest
2 голосов
/ 07 февраля 2009

Когда я увидел эту статью об использовании Python-подобного синтаксиса (на основе отступов, без фигурных скобок, синтаксиса) для C #, я начал задаваться вопросом: могу ли я иметь IDE, которая анализирует и компилирует его?

Ответы [ 3 ]

2 голосов
/ 07 февраля 2009

: могу ли я иметь IDE, которая его анализирует и компилирует?

Прежде всего, немного педантизма. IDE не анализирует и не компилирует.

Я бы предложил использовать Iron Python или Delphi Prism (как предположил Wouter быстрее) или что по этому поводу: Вы используете Notepad ++ в качестве IDE и пишете небольшой инструмент, который автоматически добавляет скобки в зависимости от намерения до компиляции кода. Я думаю, что это можно сделать в одном коде «поиск и замена обхода»:

Например:

if true
   for each a in b
       foo();
 foo();

Код просто сканирует каждую строку и добавляет открывающую скобку, если: Код в текущей строке предназначен больше, чем код в предыдущей строке:

if true
   {for each a in b
       {foo();
 foo();

И добавляет закрывающую скобку там, где код следующей строки предназначен меньше, чем в текущей строке. - Сохраните глубину отступа (я бы порекомендовал систему на основе стека)!

if true
   {for each a in b
       {foo();}
   }
 foo();

И так далее ... Проблемы с пространствами имен и «использованием» также могут быть решены таким образом.

2 голосов
/ 09 сентября 2009

извините за задержку ответа. Я разместил статью здесь , в которой говорится о структурированных редакторах. К сожалению, он все еще находится на ранней стадии разработки прототипа, но может дать вам представление о том, как создать такой редактор. Я также опубликовал источники и двоичные файлы здесь .

Дайте мне знать, если у вас есть какие-либо вопросы.

2 голосов
/ 07 февраля 2009

А как же Железный Питон ? Это питон для dotnet.

Вы также можете проверить Delphi Prism (работает как плагин для Visual Studio), если вам не нравятся фигурные скобки. Он может делать все, что делает C #, плюс несколько дополнительных вещей.

...