Как сделать VS2008 автоматически вставлять отступ для F #? - PullRequest
2 голосов
/ 21 ноября 2010

Так же, как мой заголовок.Я хочу, чтобы мой VS автоматически делал отступ для меня, как в VBNET.Пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 21 ноября 2010

Насколько я знаю, интеграция с языком F # не поддерживает эту функцию.

Кроме того, автоматическое форматирование не так полезно в F #, как в Visual Basic.В VB форматирование не очень важно (так что вы можете написать код с сумасшедшими отступами, а форматировщик может это исправить).В F # отступ (частично) определяет, что означает код, поэтому вам нужно написать правильно код с отступом (хотя я согласен, что автоматическое форматирование может сделать код более согласованным).

В принципе, должно быть возможнореализовать эту функцию как плагин Visual Studio, используя открытый исходный код F #.Есть похожий плагин, который добавляет Брайану цветов для вложенных выражений , так что его можно использовать как источник вдохновения, но это определенно не то, что я мог бы написать в поле ответа :-).

1 голос
/ 21 ноября 2010

К сожалению, чувствительный к отступам синтаксис, который F # унаследовал от таких языков, как Haskell, делает невозможным автоматическое отступление.На самом деле это моя единственная главная проблема с языком F #, потому что, помимо того, что невозможно реализовать профессиональные инструменты, такие как авто-отступы, он делает программы хрупкими при отсутствии правильного отступа, что означает, что случайное изменение пробела может молча испортить программу.а вырезать и вставить (например, из блогов) склонны к взлому или повреждению программ.F # почти всегда облажается, если вы передаете ему код OCaml, отчасти потому, что он не может обрабатывать вкладки.

Чертов стыд в том, что OCaml уже получил это право, предоставив краткий однозначный синтаксис и мощные инструменты.Например, вы можете автоматически добавлять любые определения, нажимая ALT + Q в Emacs.Это значительно облегчает манипулирование кодом OCaml и может значительно сэкономить время.Я часто трачусь через код F #, пытаясь перерисовать его вручную, мне приходится подробно читать код и разбираться в алгоритме, просто чтобы сделать отступ, это серьезно расстраивает.Проделав это много раз, я также могу с уверенностью заявить, что многословная экономия синтаксиса #light незначительна.На самом деле F # почти всегда более многословен, чем OCaml на практике.

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

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

(Прагматически, вы можете добавить несколько небольших тонкостей в редактор, например, если вы наберете строку кода, которая начинается с if и заканчивается соответствующим then и нажмете клавишу ввода, редактор может стать умным, а также вставьте следующий отступ, чтобы вам также не приходилось нажимать клавишу табуляции. Но это далеко от автоматического форматирования, которое, я думаю, было бы неуместным даже пытаться.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...