我可以建议“生成方法存根”在 Visual C# 中存储新生成代码的位置吗?
Posted
技术标签:
【中文标题】我可以建议“生成方法存根”在 Visual C# 中存储新生成代码的位置吗?【英文标题】:Can I suggest "Generate method stub" where to store new generated code in 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 简而言之:我制作了一个工具,可以为一组类生成基本代码,并且在一个文件中。其中一些类需要额外的方法和/或属性。通过这种划分,如果我想更改所有类的基本代码的内容,我只需要更改算法,重新生成代码并覆盖相应的文件。如果一切都是混合的,那就更难了。剪切/粘贴代码的工作并不多,但如果我能更有效地做到这一点,为什么不呢:) 在我放弃寻找解决方案后,灯泡亮了,一个愚蠢的想法出现了。我只是重命名了文件,所以我想要存储生成的代码的那个是按字母顺序排列的第一个.有效!也许这不是一般的解决方案,但我得到了我想要的。现在是解决实际问题的时候了:)谢谢 【参考方案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 功能。 (可以通过扩展管理器安装)
【讨论】:
以上是关于我可以建议“生成方法存根”在 Visual C# 中存储新生成代码的位置吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的 C# Visual Studio 项目中添加 VC++ DLL 作为引用?
如何从 Visual Studio 以调试模式运行 NUnit?
如何在 Visual Studio 2015 中禁用 C# 6 支持?