在 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】:

键入 ctorTab

ََََََََََ

【讨论】:

在至少一个版本的 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 → (按键次数略多,9 次而不是 5 次(仅使用键盘))。 另见Marleen Schilt's answer。 必须指出,正确的sn-p是Ctrl+K,Ctrl+X。 Ctrl+K,X 具体不起作用【参考方案10】:

要查看 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 ActionsRefactorings菜单;

    从下拉菜单中选择生成构造函数

    选择您想要包含为构造函数参数的成员。您可以使用向上和向下箭头对它们进行排序。选择确定

使用指定参数创建构造函数。

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 项目