Как заставить Visual Studio также выполнять рефакторинг на представлениях / страницах? - PullRequest
5 голосов
/ 16 июля 2009

Предположим, у меня есть модель и представление, отображающие свойства этой модели.

public class UserModel
{
    public string UserName { get; set; }
    .................
}

где-то в представлении ...

<%= Model.UserName %>

Теперь я переименую одно из свойств (скажем, UserName => FullUserName), VS предложит выполнить рефакторинг, то есть переименование ссылок на это свойство в рамках всего проекта. Это действительно будет работать везде в коде, кроме представлений.

Почему? Существует настройка для компиляции представлений при сборке проекта. Почему бы и там не выполнить простой небольшой рефакторинг?

Есть ли способ убедить это?

1 Ответ

2 голосов
/ 16 июля 2009

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

<asp:Label id="label1" runat="server"
     Text='<%# Container.DataItem("CustomerName") %>

Если вы переименуете свойство CustomerName, то ReSharper предложит узнать, не хотите ли вы изменить строку «CustomerName».

ReSharper не бесплатен, но это очень мощный инструмент, и он может сделать намного больше, чем рефакторинг.

...