有没有办法通过Resharper通过一个模板/宏生成多个文件?

时间:2012-01-13 21:14:03

标签: c# visual-studio templates macros resharper

当我为应用程序编写API时,我总是遵循一个看似如下的设置模式(谁不是!?):

User (Folder/Namespace)
    User.cs
    UserDao.cs
    UserDaoFactory.cs
    UserService.cs
    UserServiceFactory.cs

我知道Resharper有我已经使用的文件模板,但如果我不必单独添加每个文件,当你在应用程序中使用超过30个实体时会非常繁琐,那就太棒了。如果你不能用resharper做到这一点,那么无论如何使用Visual Studio制作某种宏来执行你的resharper文件模板?

3 个答案:

答案 0 :(得分:6)

  1. 在一个文件中创建所有这些类(如果需要,创建一个包含标准类集的文件模板)
  2. 写下你的逻辑
  3. Shift + Alt + L 将焦点放在解决方案资源管理器
  4. 中的文件上
  5. Ctrl + Shift + R 显示重构此菜单,其中包含适用的重构列表。
  6. 选择将类型移动到匹配的文件,完成重构向导,并观察分成单个文件的类。
  7. 要将所有新创建的类放入文件夹,请在解决方案资源管理器中选择它们,然后再次调用重构此
  8. 这一次,选择移至文件夹
  9. 在重构向导中指定新文件夹的名称,按创建此文件夹,然后完成向导。

答案 1 :(得分:2)

看起来R#8添加了此功能

来自Resharper Help Page

  

从ReSharper 8.0开始,每个文件模板可以添加多个   文件应用时。这个>可能对WPF,Web和其他有用   相关数据可以保存在不同文件中的项目。

     

以下是您需要了解的有关多文件模板的一些内容:

     
      
  • 文件模板始终包含一个主文件,也可以包含任意一个   辅助文件的数量。所以只要你添加一个辅助文件   您获得多文件模板的任何文件模板。
  •   
  • 添加时   辅助文件,您可以引用任何现有的文件模板(添加文件   从现有模板选项)。注意,如果引用模板   也有多个文件,然后只有被引用的主文件   应用模板时将添加模板。
  •   
  • 这一组   参数跨越多文件模板的所有文件。即,如果你使用   多文件模板的多个文件中的参数$ PARAM $,   当模板出现时,它将在所有相关文件中具有相同的值   应用。
  •   
  • 如果多文件模板具有可编辑参数,则Hot   应用此模板时部署的Spot Session将指导   浏览所有需要用户输入的创建文件。
  •   

答案 2 :(得分:0)

我会考虑在ReSharper中使用.tt模板。

  1. 使用ReSharper创建主文件。
  2. 使用一个或多个tt文件自动生成包含partial关键字的依赖(.partial.cs)文件。
  3. 根据需要扩展生成的类。