簡體   English   中英

在 Visual Studio 中創建屬性的快捷方式?

[英]Shortcut to create properties in Visual Studio?

我看到有些人在 C# 中創建屬性的速度非常快,但他們是如何做到的?

Visual Studio(目前使用 Visual Studio 2010)中有哪些快捷方式可用於創建屬性?

我正在使用 C#。

例如,

public string myString {get;set;}

你可以輸入“ prop ”,然后按兩次tab鍵。 這將生成以下內容。

public TYPE Type { get; set; }

然后你改變“類型”和“類型”:

public string myString {get; set;}

您還可以通過鍵入“propfull”獲得完整的屬性,然后按兩次 Tab 鍵。 這將生成字段和完整屬性。

private int myVar;

public int MyProperty
{
    get { return myVar;}
    set { myVar = value;}
}

除了Amra 的答案,您還可以通過鍵入找到其他片段

Ctrl + K , Ctrl + X

它映射到我的 Visual Studio 中的 Edit.InsertSnippet 並向您顯示可用代碼段的完整列表。

還請記住,您可以使用代碼段管理器配置自己的代碼段,該管理器位於Tools菜單、 Code Snippets Manager... 基本上,您創建一個文件*.snippet並使用代碼片段管理器中的導入按鈕將其添加到 Visual Studio。 有關完整教程,您可以轉到文檔; 演練:創建代碼片段


在 Visual Studio 中,代碼片段的處理方式與 Visual Studio 中略有不同。 您可以通過鍵入Ctrl + Shift + P並鍵入snippet來訪問所有片段。 應該有兩個選項可用, Insert SnippetPreferences: Configure User Snippets

前者從你的片段列表中插入一個片段(使用你可以在狀態欄中看到的語言模式),而后者你可以為任何語言模式創建你自己的片段。

如果您知道短名稱,您只需輸入它並使用Tab來展開代碼段。 為了插入 C# 屬性,您可以使用三個片段proppropfullpropg ,用於不同的目的。

將光標放在您的字段內private int _i; 然后 Edit 菜單或 RMB - Refactor - Encapsulate Field... ( Ctrl R , Ctrl E ) 創建標准屬性訪問器。

輸入“propfull”。 使用起來要好得多,它會生成屬性和私有變量。

鍵入“propfull”,然后兩次TAB

按照 Amra 的建議鍵入“prop”+ Tab + Tab 后,您可以立即鍵入屬性的類型(將替換默認的int ),鍵入另一個選項卡並鍵入屬性名稱(將替換默認的 MyProperty)。 Enter完成。

我認為Alt + R + F是從變量聲明創建屬性的正確方法

從:

private int myVar;

當您選擇“myVar”並右鍵單擊時,然后選擇“重構”並選擇“封裝字段”。

它會自動創建:

{
    get { return myVar; }
    set { myVar = value; }
}

或者您可以通過按Ctrl + R + E來快捷方式。

我在 IDE 中喜歡的是我能夠編寫一些變量,例如:

    private int id;
    private string name;
    private string version;
    private string description;
    private string status;
    private string symbol;

請注意,變量名稱以小寫字母開頭,然后選擇整個塊,然后按Ctrl + RCtrl + E 、應用。 這些屬性是用大寫字母生成的:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

等。

在 Visual Studio 中編寫時,

public ServiceTypesEnum Type { get; set; }
public string TypeString { get { return this.Type.ToString();}}

ReSharper將繼續建議將其轉換為:

public string TypeString => Type.ToString();

前往

工具 >> 選項 >> 文本編輯器 >> C# >> IntelliSense

在代碼段行為部分下:

確保選中“始終包含片段”。

我希望它也適用於你。

輸入P + Tab + Tab

更改數據類型,按TAB ,更改屬性名稱,然后按End + Enter

如果您使用的是 Visual Studio 2013、2015 或更高版本,只需單擊下面的鏈接。 它將為您提供 Visual Studio 中的完整快捷方式!

Visual C# 代碼片段

ReSharper在其廣泛的功能集中提供屬性生成 (雖然它並不便宜,除非您正在從事開源項目。)

使用 VsVim 代碼片段似乎有點有趣。 當我來到這里時,我正在尋找的快捷方式要簡單得多:在成員名稱之后鍵入{ g ; S;

我打開了分隔符自動關閉功能,因此關閉大括號出現在{ 上,並且鍵入分號會觸發 get 和 set 的自動完成。

它適用於 VS2013 和 VS2015,而 VS2012 只是缺少自動大括號匹配。

在 Visual Studio 2017 社區中,關鍵是 ctrl + 。

在 C# 中:

private string studentName;

在分號 (;) 之后的行尾 Just Press

Ctrl + R + E

它將顯示一個彈出窗口,如下所示: 在此處輸入圖片說明 單擊 Apply 或按 ENTER 它將生成以下屬性代碼:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

在VB中:

Private _studentName As String

在行尾(字符串之后)按,確保將 _(下划線) 放在開頭,因為它會在屬性末尾添加數字:

Ctrl + R + E

將出現相同的窗口: 在此處輸入圖片說明

單擊 Apply 或按 ENTER 它將生成以下帶有數字的屬性代碼,如下所示:

Public Property StudentName As String
        Get
            Return _studentName
        End Get
        Set(value As String)
            _studentName = value
        End Set
    End Property

數字屬性是這樣的:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM