代码之家  ›  专栏  ›  技术社区  ›  User

如何使visual studio也在视图/页面上执行重构?

  •  5
  • User  · 技术社区  · 16 年前

    假设我有一个模型和一个显示此模型属性的视图。

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

    在某处的风景…

    <%= Model.UserName %>
    

    现在我重命名其中一个属性(例如,username=>fullusername),vs将建议执行重构,这意味着在项目范围内重命名对此属性的引用。除了视图之外,它在代码中的任何地方都可以工作。

    为什么?有一个在项目生成时编译视图的设置。为什么它不在那里执行简单的小重构呢?

    有什么办法说服它吗?

    1 回复  |  直到 16 年前
        1
  •  2
  •   MikeD    16 年前

    ReSharper 支持这样的重命名,还支持可选地重命名字符串文本。如果您有这样的代码,这将非常有用:

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

    如果您重命名 CustomerName 属性,然后resharper将提示您是否也要更改“customername”字符串。

    RESARPER不是免费的,但它是一个非常强大的工具,它比重构更能发挥作用。