【问题标题】:Code snippet or shortcut to create a constructor in Visual Studio在 Visual Studio 中创建构造函数的代码片段或快捷方式
【发布时间】:2011-04-21 21:11:28
【问题描述】:

在 Visual Studio 中创建构造函数的代码 sn-p 或快捷方式是什么?

Visual Studio 2010 和 C#。

【问题讨论】:

    标签: c# visual-studio constructor code-snippets shortcut


    【解决方案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 次(仅使用键盘))。
          • 必须指出,正确的sn-p是Ctrl+K,Ctrl+X。 Ctrl+K,X 具体不起作用
          【解决方案10】:

          要查看 sn-ps 的完整列表(预制代码的一小部分),请按 Ctrl+K,然后按 Ctrl+ XSource from MSDN。 在 Visual Studio 2013 中使用 C# 项目工作。

          那么如何制作构造函数

          1. Ctrl+K 然后按 Ctrl+X
          2. 选择 Visual C#
          3. 选择演员
          4. 标签

          更新:你也可以在你想要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 +

              【讨论】:

              【解决方案13】:

              正如许多人所提到的,“ctor”和双 TAB 在 Visual Studio 2017 中有效,但它只创建没有任何属性的构造函数。

              要使用属性(如果有的话)自动生成,只需单击它们下方的空行并按 Ctrl + .。它将显示一个小弹出窗口,您可以从中选择“生成构造函数...”选项。

              【讨论】:

                【解决方案14】:

                我创建了一些方便的代码 sn-ps,它们也会创建重载的构造函数。欢迎您使用它们:https://github.com/ejbeaty/Power-Snippets

                例如:'ctor2' 将创建一个带有两个参数的构造函数,并允许您像这样一一切换它们:

                public MyClass(ArgType argName, ArgType argName)
                {
                
                }
                

                【讨论】:

                  【解决方案15】:

                  如果你想要一个带有属性的构造函数,你需要做以下事情:

                  1. 将光标放在类中的任何空行;

                  2. Ctrl + .触发Quick ActionsRefactorings菜单;

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

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

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

                  Generate a constructor in Visual Studio

                  【讨论】:

                    【解决方案16】:

                    如果您使用 ReSharper,您可以通过键入以下内容快速生成构造函数:

                    • 'ctor' + Tab + Tab(不带参数),
                    • 'ctorf' + Tab + Tab(带有初始化所有字段的参数)或
                    • 'ctorp' + Tab + Tab(带有初始化所有属性的参数)。

                    【讨论】:

                      【解决方案17】:
                      1. Alt + Enter
                      2. 选择“生成构造函数”
                      3. 选择所需成员

                      使用选定的成员生成参数化构造函数。

                      【讨论】:

                        猜你喜欢
                        • 2012-02-12
                        • 1970-01-01
                        • 1970-01-01
                        • 2010-10-25
                        • 2011-11-08
                        • 1970-01-01
                        • 2012-06-17
                        • 2011-04-21
                        • 1970-01-01
                        相关资源
                        最近更新 更多