Подтвердить что ты не робот

Как изменить параметры автоматического форматирования .ASPX(Visual Studio)

При вводе кода в файле .aspx(в этом случае вид MVC) Visual Studio применяет два типа форматирования, один - к обычной структуре тегов html (которую можно контролировать из Tools- > Options- > Text Editors- > Html), а другой - в теги <%% > .

Я столкнулся с двумя неприятностями со вторым типом автоматического форматирования, форматированием содержимого <%% > .

Во-первых, как новые строки добавляются к блокам оператора:

Если я наберу это:

<% if(condition) { %>
    ...
<% } %>

Это автокорректировано:

<% if(condition) 
   { %>
    ...
<% } %>

В то время как исправление правильное, если это был файл .cs, для суп-тега, который является .aspx файлами, я считаю, что первый гораздо более читаемый. Есть ли способ отключить это поведение, не влияя на форматирование файлов .cs?

Во-вторых, всякий раз, когда я пишу что-то вроде этого:

<%=Html.ActionLink("Report","ListItems") %>

Я не могу найти способ сделать это автоматически форматировать в это (добавьте расстояние, если это необходимо):

<%=Html.ActionLink("Report", "ListItems") %>

В коде вам обычно нужен; или}, чтобы сообщить, что вы сделали строку/раздел кода, чтобы Visual Studio могла ее форматировать. Есть ли способ дать этот сигнал для выражения <% = типа?

РАЗЪЯСНЕНИЕ

Этот вопрос касается форматирования кода внутри <%% > тегов , не влияя на форматирование обычных исходных файлов С#. В первом абзаце говорится, что я полностью осведомлен о меню "Текстовые редакторы".

4b9b3361

Ответ 1

Меню "Текстовые редакторы" - это все, что есть, и оно не позволяет вам делать то, что вы хотите. Когда вы щелкните правой кнопкой мыши по странице aspx, нажмите "Форматирование и проверка...", а затем нажмите кнопку "Специфичные параметры тега...", вы получите множество настроек для каждого клиентского или серверного тега, но не для <.% - метки

Что касается второй части вашего вопроса, Ctrl-E, D форматирует ваш документ, но не вставляет требуемый интервал.

Ответ 2

Вы можете изменить автоформатирование в этом меню:
Инструменты → Параметры → Текстовый редактор

Вы можете, например, изменить новую строку if, под:
С#
- Форматирование
- Новые линии
--- Поместите открытую скобку на новую строку для управления блоки

Надеюсь, что это поможет.

Ответ 3

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

<%
     }
     %>

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

Ответ 4

Согласно microsoft, это ошибка в визуальной студии, которая только что была исправлена ​​- хотя я еще не видел исправления, поэтому не могу подтвердить, что у них действительно есть. Кажется маловероятным через 10 лет они бы внезапно исправили это, но мы посмотрим. См. http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=514691

Ответ 5

Если вы никогда не настраивали свою среду, я предлагаю потратить некоторое время в диалоговом окне "Инструменты → Параметры". Существует множество аккуратных вещей, которые вы можете сделать, чтобы настроить свою среду, а также изменить способ по умолчанию, который выполняет Visual Studio.

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