【问题标题】:C# shortcut or shorthand getter setterC# 快捷方式或速记 getter setter
【发布时间】:2011-12-22 08:39:37
【问题描述】:

有没有在c#中创建getter和setter的捷径?

public string fname {get; set;} 

生成{get; set;}是否有简写?

【问题讨论】:

  • 哈哈。这还不够短吗?
  • 哈哈,也许微软可以做得更好,提出 {g;s;}
  • 我还记得旧石器时代你必须编写自己的 fname_get() 和 fname_set(string) 方法。
  • 只要人们在取笑这个问题,我也会把东西扔进擂台上。输入 {get; set;} 一次并复制它,然后将其粘贴到您需要的位置。 CTRL+C / CTRL+V 非常快而且很短。
  • 创建很多属性并厌倦了输入 { get;放; } 一遍又一遍。是的,我打字很慢。和一个糟糕的打字机。虽然在我去寻找这个的时候,我本可以把它们打出来。哈哈。

标签: c# visual-studio-2010 shortcut


【解决方案1】:

是的,输入 prop 并按 TAB。 Visual Studio 有一个用于自动属性的 sn-p。

对于具有 public get 和 private set 的属性,您可以使用 propg 并按 TAB。

对于完整的非自动属性,您可以使用 propfull 并按 TAB。

【讨论】:

  • 谢谢。我像所有其他网站所说的那样做道具标签标签,但他们从来没有说第一个标签会带你到类型,第二个标签会带你到名称。
  • AndShift Tab 将允许您循环返回。
【解决方案2】:

如果您只是想要 getter 和 setter,按照最初的要求,您还可以创建一个自定义 sn-p:

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>GetSet</Title>
            <Description>Inserts getter/setter shorthand code</Description>
            <Shortcut>gs</Shortcut>
        </Header>
        <Snippet>
            <Code Language="CSharp">
                <![CDATA[{ get; set; }$end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

将以上内容另存为 .sn-p 在您的 sn-ps 文件夹中。键入“gs”并按 Tab 键将插入 { get; set;} 并移至行尾。


编辑

在 VS Code 中,这将是您的 csharp.json 文件中的自定义 user snippet

"Getter Setter": {
    "prefix": "gs",
    "body": [
        "\\{ get; set; \\}",
        "$1"
    ],
    "description": "Insert shorthand autoproperties"
}

这些示例中的任何一个都可以轻松修改/复制以执行 { get; }(使用 readonly 支持字段)或 { get; private set; }

【讨论】:

  • 要将 sn-p 导入 Visual Studio,只需从上面复制 xml,粘贴到记事本中,然后将其作为 get_set.sn-p 保存在计算机上的某个位置。然后在 VS 中,选择 Tools > Code Snippet Manager > Import 并浏览到文件。之后,您只需键入 gs 并按 Tab 即可插入 get 和 set 块。
【解决方案3】:

快捷方式是触发器“prop”:

prop<tab><tab>int<tab>Id<tab>

你最终得到:

public int Id { get; set; }

【讨论】:

  • 我猜这已经随着新版本而改变,或者我的设置不同。我的组合键如下; propintId
【解决方案4】:

当我输入 prop & TAB 时,我得到:

    public int MyProperty
    {
        get; set;
    }

有没有办法设置它,所以它都在一条线上,所以它看起来像:

公共 int MyProperty { 获取;设置;}

更新!!!我想通了。

Tools --> Options --> Text Editor --> C# --> Code Style --> Formatting --> Wrapping --> 在“Leave block on a single line”选项打勾。它甚至使用“get;set;”举个例子。

【讨论】:

  • 我刚刚在 MonoDevelop 中找到了这个。它在 Preferences -> Source Code -> C# source code -> C# Format: Edit -> Category: Braces -> Property declaration -> Allow automatic property in a line (Force one line)
猜你喜欢
  • 2021-02-03
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 1970-01-01
相关资源
最近更新 更多