使用变量创建构造函数的快捷方式(C#VS2010)

在VS2010 C#中,您可以在类中键入ctor,然后按Tab键,VS将为我创建该类的构造函数。 很方便。

但有没有办法让VS创建一个包含所有变量,属性等的构造函数?

例如。

public class User { public String UserName { get; private set; } } 

为此我想要ctor + tab让我成为一个

 public User(string UserName) { this.UserName = UserName; } 

你可以用另一种方式做到这一点; 如果你在没有构造函数或字段的情况下启动,并尝试使用不存在的构造函数,则可以按ctrl + 要求它为您生成一个,使用优先:

在此处输入图像描述

然后这个编译器生成一些不太相似的东西:

 public class User { private string username; public User(string username) { // TODO: Complete member initialization this.username = username; } } 

然后,您可以根据需要手动修复此问题(可能使用内置的重命名重构等)。 但不完全是你想要的。

我认为你所指的是Code Snippets。 您可以编写自己的代码片段(它们是用XML编写的)。 请看这里的起点。

您还应该能够编辑现有的代码片段(例如ctor one)。 有关此问题,请参阅MSDN 。

注意:在代码片段上进一步使用Google搜索会带来更多教程和参考。

感谢Samuel Slade(告诉我它被称为代码片段)我设法找到另一个stackoverflow答案: 在VS2010 Express中创建构造函数的片段代码

似乎答案是否定的 ,不是没有任何插件/扩展。 许多是指ReShaper扩展。

“ctor”代码段仅创建一个空白构造函数,但不使用此构造函数中类的现有属性。

但是,最新版本的Resharper使您可以选择要包含在构造函数中的字段(就像很久以前的eclipse一样)。

我想你可以用一个片段做到这一点:

请访问此站点http://msdn.microsoft.com/en-us/library/ms165392(v=vs.100).aspx

正如其他人所指出的那样,不可能创建智能的片段。

有一个名为Comet的免费视觉工作室插件可以做你想要的。 http://cometaddin.codeplex.com/

如果您使用Resharper,则快捷键为Alt+Insert

资源

ctorf这将允许您根据类中定义的字段创建具有生成参数的构造函数。