Есть ли IDE, которая делает подсветку структурного синтаксиса? - PullRequest
24 голосов
/ 18 марта 2009

Отчасти вдохновлен этим вопросом о графической среде программирования. Я не думаю, что C ++ или C # действительно способствуют этому типу среды, но, возможно, что-то там на полпути.

В серии IDE, которые я использовал, будет использоваться подсветка синтаксиса для изменения цвета текста на переднем плане (или даже на фоне) для ключевых слов, строк, комментариев и т. Д. *

Существуют ли IDE, которые будут выделять более крупные синтаксические структуры? Вот пример того, о чем я думаю.

Пример структуры кода http://img256.imageshack.us/img256/9441/codestructure.png

(Пожалуйста, не комментируйте мой плохой выбор цветов ... Я не графический дизайнер по причине.)

Хотя это не графическая среда перетаскивания, выделение все равно дает общее представление о структуре кода. Лично, изучая C # после нескольких лет C ++, я все еще ловлю себя на том, что спотыкаюсь о том факте, что в конце файла у вас обычно есть конец класса и конец пространства имен, поэтому конец функции - это два уровня в . (В файле кода C ++ конец функции обычно находится на верхнем уровне отступа). Я помогаю себе, добавляя небольшие комментарии в квадратных скобках:

    } // end class 
} // end namespace

Но мне кажется, что некоторая автоматическая раскраска сделает это совершенно ненужным. В любом случае, это уже сделано? Бонус, если это дополнение к Visual Studio.

Ответы [ 11 ]

16 голосов
/ 21 марта 2009

Я автор Кодекана . Действительно, то, что вы описали выше, было главной целью продукта. Кстати, я собираюсь опубликовать статью о «создании» и лежащей в основе технологии, которая довольно изящна. Возможно, он будет доступен на следующей неделе (26 марта 2009 г. или около того). Рекомендуется к прочтению, если можно так выразиться.

Причина, по которой Кодекана предоставляет только контуры вместо цветного фона, заключается в ограничении расширяемости рендеринга текста в VS. Я надеюсь, что когда-нибудь в будущем я смогу внедрить версию с твердым фоном, хотя она определенно потребует серьезного взлома и «ракетной хирургии».

Я бы прокомментировал выше, вместо того, чтобы дать другой ответ, но моя репутация не позволяет комментировать. (

[ОБНОВЛЕНИЕ: Спасибо за комментарии, теперь я могу комментировать!]

7 голосов
/ 19 марта 2009

Coderush делает структурную подсветку:

alt text
(источник: devexpress.com )

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

7 голосов
/ 19 марта 2009

Самое близкое, что я видел, это Codekana , хотя он не имеет "фоновой подсветки синтаксиса", он окрашивает различные структуры управления потоком:


(источник: codekana.com )



(источник: codekana.com )

  • красный для петель
  • Зеленый для блоков if
  • Браун для остальных блоков
  • Аквамарин для распределительных блоков
  • Оливка для блоков исключений
  • Оранжевый для «возврата»
3 голосов
/ 11 августа 2011

Текущий редактор BlueJ делает именно то, что вы описываете:

BlueJ editor screenshot

0 голосов
/ 24 марта 2015

расширение allmargins у меня работает в visual studio 2010

Инструмент -> Менеджер расширений -> поиск всех маргиналов

0 голосов
/ 02 сентября 2011

Существует также бесплатное расширение, которое, по крайней мере, рисует направляющие линии, окрашенные в соответствии с тем, к чему они принадлежат. Например, if направляет зеленый и т. Д.:
Example screenshot

Это называется StructureAdornment , и вы можете получить его в Менеджере расширений или в Галерея Visual Studio .

Мне это очень удобно.

0 голосов
/ 12 ноября 2010

Я работаю над расширением Visual Studio, вдохновленным этим вопросом. Вы можете видеть то, что у меня пока есть здесь:

http://lorgonblog.wordpress.com/2010/11/12/the-f-compiler-source-release-making-it-easy-to-write-cool-visual-studio-extensions/

0 голосов
/ 22 марта 2009

Вы должны попробовать этот Addin, и вы никогда не будете работать в visual studio без него, http://www.jetbrains.com/resharper/features/index.html

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

0 голосов
/ 19 марта 2009

Я думаю, что Xcode 3 делает примерно то, что вы хотите, особенно с Фокус следует за выбором включен . Отдельные блоки подсвечиваются при наведении курсора на них на боковой панели.

0 голосов
/ 19 марта 2009

Хорошая идея. Лично я действительно не люблю сворачивать редакторы, но это было бы вполне терпимо - хотя вы бы хотели легко включать и выключать его. Возможно, кто-то уже сделал это для гипер-программируемых редакторов, таких как vim и emacs?

...