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

2

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

Теги:
visual-studio
indentation
ide
curly-braces

3 ответа

2
Лучший ответ

Как насчет Iron Python? Это python для dotnet.

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

  • 1
    Iron Python - это просто интерпретатор командной строки, который не интегрируется в Visual Studio. Delphi использует «начало» и «конец» вместо фигурных скобок, что еще хуже.
2

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

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

2

: может ли я иметь 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();

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

  • 0
    Согласно Википедии, среда IDE обычно состоит из: * редактора исходного кода, * компилятора и / или интерпретатора, * средств автоматизации сборки и * отладчика (обычно).
  • 1
    Именно поэтому она называется «Интегрированная» среда разработки
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню