Как изменить настройки автоматического форматирования .ASPX (Visual Studio) - PullRequest
34 голосов
/ 11 марта 2009

При вводе кода в файле .aspx (в данном случае в представлении MVC) Visual Studio применяет два типа форматирования, один из которых относится к обычной структуре тегов html (которой можно управлять из «Инструменты» -> «Параметры» -> «Текстовые редакторы». > Html) и другое содержимое тегов <%%>.

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

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

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

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

Это автоматически исправлено:

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

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

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

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

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

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

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

ПОЯСНЕНИЯ

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

Ответы [ 5 ]

4 голосов
/ 09 мая 2009

Меню текстовых редакторов - это все, что есть, и оно не позволяет вам делать то, что вы хотите. Если щелкнуть правой кнопкой мыши страницу aspx, нажать «Форматирование и проверка ...», а затем нажать кнопку «Параметры, специфичные для тега ...», вы получите набор настроек для каждого тега клиента или сервера, но не для <% -. теги </p>

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

2 голосов
/ 31 июля 2010

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

2 голосов
/ 11 мая 2009

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

<%
     }
     %>

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

2 голосов
/ 11 марта 2009

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

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

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

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

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

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

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