在 Visual Studio 中创建构造函数的代码片段或快捷方式
Posted
技术标签:
【中文标题】在 Visual Studio 中创建构造函数的代码片段或快捷方式【英文标题】:Code snippet or shortcut to create a constructor in Visual Studio 【发布时间】:2011-04-21 21:11:28 【问题描述】:在 Visual Studio 中创建构造函数的代码 sn-p 或快捷方式是什么?
Visual Studio 2010 和 C#。
【问题讨论】:
【参考方案1】:键入 "ctor" + TAB + TAB(按两次 Tab 键)。这将为您所在的类创建默认构造函数:
public MyClass()
在某些情况下,您似乎必须按两次 TAB。
【讨论】:
不适合我(键入ctor
仅显示智能感知框,然后我必须键入 Tab
一次以关闭它,一次以“使用”sn-p),但可能是一些设置某处...
除了这种技术。如果您使用具有特定签名的类,则可以重构以让 Visual Studio 为您生成构造函数。此外,如果这是一个默认构造函数并且您没有对它做任何事情,那么默认情况下它就在那里。
一次或两次是设定的事情。我遇到了 1-letter-sn-p 的问题,并更改了一些(IntelliSense)设置以使 1 Tab
工作。 ctor
为我工作,但只有 1 次点击。
@Eve 你改了什么设置?
@RayLoveless,我遇到了同样的问题,我可以在 VS2019 中修复。转到 Options > Text Editor > C# > IntelliSense 然后将“Snippets Behavior”更改为“Always include sn-ps”。【参考方案2】:
我不知道 Visual Studio 2010,但在 Visual Studio 2008 中,代码 sn-p 是“ctor”。
【讨论】:
vs-2008 和 vs-2008 是一样的,我认为 vs-2005 也是一样的,但不是 100% 确定。【参考方案3】:只需输入ctor
,然后按TAB。
【讨论】:
至少一个版本的 Visual Studio 中需要两个 TAB(而不是一个)(可能取决于配置)。【参考方案4】:键入 ctor,然后按 Tab 键。
【讨论】:
至少一个版本的 Visual Studio 中需要两个 TAB(而不是一个)(可能取决于配置)。【参考方案5】:键入 ctor
和 Tab。
ََََََََََ
【讨论】:
在至少一个版本的 Visual Studio 中(可能取决于配置)需要两个 TAB(而不是一个)。【参考方案6】:在 Visual Studio 2010 中,如果您键入“ctor”(不带引号),IntelliSense 应该会加载,并在列表中显示“ctor”。现在按 TAB 两次,你应该已经生成了一个空的构造函数。
【讨论】:
【参考方案7】:键入任何代码的名称 sn-p 并按 TAB。
要获取属性代码,您需要选择正确的选项并按两次 TAB,因为 Visual Studio 有多个以“prop”开头的选项,例如“prop”、“propa”、和“propdp”。
【讨论】:
【参考方案8】:键入ctor
,然后按两次TAB。
【讨论】:
【参考方案9】:如果你想查看所有可用sn-ps的列表:
按 Ctrl + K 然后按 X。
【讨论】:
这 is 实际上是问题的答案,因为您不仅可以看到可用的 sn-ps,还可以调用它:"Visual C#" → ctor →要查看 sn-ps 的完整列表(预制代码的一小部分),请按 Ctrl+K,然后按 Ctrl+ X。 Source from MSDN。 在 Visual Studio 2013 中使用 C# 项目工作。
那么如何制作构造函数
-
按 Ctrl+K 然后按 Ctrl+X
选择 Visual C#
选择演员
按 标签
更新:你也可以在你想要sn-p的代码中右键单击,然后从右键菜单中选择Insert Snippet
【讨论】:
【参考方案11】:如果您有兴趣从头开始创建“ctor”或类似的类名注入 sn-p,请在 C# sn-ps 目录(例如 C:\VS2017\VC#\Snippets\1033\Visual C#\C#Snippets.snippet
)中创建一个 .sn-p 文件XML 内容:
<CodeSnippets>
<CodeSnippet>
<Header>
<Title>ctor</Title>
<Shortcut>ctor</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false"><ID>classname</ID><Function>ClassName()</Function></Literal>
</Declarations>
<Code>
<![CDATA[public $classname$($end$)
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
这个sn-p通过调用C#代码sn-p函数ClassName()的方式注入当前类名,详见this docs.microsoft page。
扩展这段代码sn-p的最终结果:
【讨论】:
【参考方案12】:对于 Visual Studio 2017,按 Ctrl + 。。
【讨论】:
我试过了,它工作正常。请阅读此链接docs.microsoft.com/en-us/visualstudio/ide/reference/…【参考方案13】:正如许多人所提到的,“ctor”和双 TAB 在 Visual Studio 2017 中有效,但它只创建没有任何属性的构造函数。
要使用属性(如果有的话)自动生成,只需单击它们下方的空行并按 Ctrl + .。它将显示一个小弹出窗口,您可以从中选择“生成构造函数...”选项。
【讨论】:
【参考方案14】:我创建了一些方便的代码 sn-ps,它们也会创建重载的构造函数。欢迎您使用它们:https://github.com/ejbeaty/Power-Snippets
例如:'ctor2' 将创建一个带有两个参数的构造函数,并允许您像这样一一切换它们:
public MyClass(ArgType argName, ArgType argName)
【讨论】:
【参考方案15】:如果你想要一个带有属性的构造函数,你需要做以下事情:
将光标放在类中的任何空行;
按Ctrl + .触发Quick Actions和Refactorings菜单;
从下拉菜单中选择生成构造函数;
选择您想要包含为构造函数参数的成员。您可以使用向上和向下箭头对它们进行排序。选择确定。
使用指定参数创建构造函数。
Generate a constructor in Visual Studio
【讨论】:
【参考方案16】:如果您使用 ReSharper,您可以通过键入以下内容快速生成构造函数:
'ctor' + Tab + Tab(不带参数), 'ctorf' + Tab + Tab(带有初始化所有字段的参数)或 'ctorp' + Tab + Tab(带有初始化所有属性的参数)。【讨论】:
【参考方案17】:-
按 Alt + Enter
选择“生成构造函数”
选择所需成员
使用选定的成员生成参数化构造函数。
【讨论】:
以上是关于在 Visual Studio 中创建构造函数的代码片段或快捷方式的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio 2013 中创建应用程序设置
如何在visual studio2008中创建,编译和运行C++程序,
如何在 Eclipse 中创建区域,如 Visual Studio
在 Visual Studio 2015 中创建 dll 库
我无法在Visual Studio 2017中创建android密钥库
使用平台工具集 v120 (Visual Studio 2013) 在 Visual Studio 2015 中创建 C++/CLI 项目