【问题标题】:Can I suggest "Generate method stub" where to store new generated code in Visual C#?我可以建议“生成方法存根”在 Visual C# 中存储新生成代码的位置吗?
【发布时间】:2014-01-03 20:31:19
【问题描述】:

我正在使用 Microsoft Visual C# 2010。

我在两个文件中有一个类:

file1.cs

partial class SomeClass {
    // something
}

file2.cs

partial class SomeClass {
    // something else
}

现在,在项目的第三个位置,当我编写“SomeClass.SomeMethod()”并按 Alt+Shift+F10,然后选择“生成方法存根...”时,它总是会创建file1.cs中的代码。

我的问题是:是否可以在 file2.cs 中给出指令,以及如何做?

【问题讨论】:

  • reSharper 提供此选项,以防您考虑使用它。
  • 你为什么需要这样的东西?
  • 不,内置 VS 功能是不可能的
  • @Ktt 简而言之:我制作了一个工具,可以为一组类生成基本代码,并且在一个文件中。其中一些类需要额外的方法和/或属性。通过这种划分,如果我想更改所有类的基本代码的内容,我只需要更改算法,重新生成代码并覆盖相应的文件。如果一切都是混合的,那就更难了。剪切/粘贴代码的工作并不多,但如果我能更有效地做到这一点,为什么不呢:)
  • 在我放弃寻找解决方案后,灯泡亮了,一个愚蠢的想法出现了。我只是重命名了文件,所以我想要存储生成的代码的那个是按字母顺序排列的第一个.有效!也许这不是一般的解决方案,但我得到了我想要的。现在是解决实际问题的时候了:)谢谢

标签: c# visual-studio-2010 code-generation


【解决方案1】:

不,默认安装VS2010是不可能的

【讨论】:

    【解决方案2】:

    您应该能够使用以下文件命名约定创建代码生成部分

    • SomeClass.cs
    • SomeClass.Generated.cs
    • SomeClass.DataAccess.cs

    所有这些文件将在每个文件中使用相同的代码组合在一起:

    public partial class SomeClass{}
    

    当您查看 csproj 原始文件时,您会看到类似

    <Compile Include="SomeClass.cs" />
    <Compile Include="SomeClass.DataAccess.cs">
      <DependentUpon>SomeClass.cs</DependentUpon>
    </Compile>
    <Compile Include="SomeClass.Generated.cs">
      <DependentUpon>SomeClass.cs</DependentUpon>
    </Compile>
    

    当您在 VS 解决方案资源管理器中查看布局时,所有“SomeClass.ChildMethodParts.cs”文件都将出现在树中的父级“SomeClass.cs”下。保持整个解决方案非常干净。

    另外,还有一个 VS 插件,其中包含此功能作为菜单项。见http://vscommands.squaredinfinity.com/Features-SolutionExplorer#solutionexplorer-group

    【讨论】:

      【解决方案3】:

      您可以使用 Resharper 功能。 (可以通过扩展管理器安装)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-11
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 2020-12-29
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        相关资源
        最近更新 更多