IRONSOFTWAREHOME

在C#中建立程式碼片段 - 定制Visual Studio以提高效率

在C#中建立程式碼片段 - 自訂Visual Studio以提高效率

Tim Corey

48分鐘46秒

對於使用C#的開發者來說,重複是一個現實。 從編寫屬性到設定主控台方法以及捕捉例外,有些工作可以更順暢地進行。 這就是程式碼片段的作用—小巧、強大、可重用的程式碼塊,只需使用快捷鍵即可快速插入到您的專案中。

在本文中,我們將探討如何在Visual Studio中建立和使用自定義程式碼片段,由C#專家培訓師Tim Corey指導。 在他關於"在C#中建立程式碼片段 - 自定Visual Studio以提高效率"的影片中,Tim提供了實際操作步驟、評論及範例,您可以直接應用到您自己的專案中。 最後,您將能提高生產力,撰寫更具可讀性的程式碼,並在您的開發工作中實施最佳實踐。

為什麼程式碼片段很重要

Tim首先分享了他經常使用程式碼片段來插入自動屬性、建構函式和foreach迴圈等內容。 他展示了如何輸入cw並按兩次Tab鍵插入Console.WriteLine(),將游標放在括號之間,這是一個輸出字串內容的重要技巧。

但正如他所指出的,並不是每個有用的方法都有內建的程式碼片段。 例如,Console.ReadLine() 缺少一個。 Tim 的回應? 建立您自己的。

在Visual Studio中設置示範專案

為了在情境中進行演示,Tim 在 Visual Studio 中設置了一個 ASP.NET Core Web 應用程式。 儘管專案型別並不重要,但擁有C#和HTML文件可以讓他展示來自這兩種語言的範例。

這是一個重要的提醒:程式片段不限於C#——它們可以應用於Visual Studio支援的多種語言,包括HTML、XAML等。

內建程式碼片段與快捷鍵的威力

Tim展示了一些現有的程式碼片段:

  • cw + Tab Tab → Console.WriteLine()

  • ctor + Tab Tab → 建構函式

  • prop + Tab Tab → 自動實現的屬性(例如,public string Test { get; set; })

  • propfull → 建立具有後備欄位的屬性

這些快捷鍵旨在消除重複並提高性能。 您只需指定像是string或int這樣的型別,以及名稱,然後讓剩餘部分自動生成。

這些內建程式碼片段還可以展示插值、公用等存取修飾符,及系統定義元素,確保您的程式碼遵循一致的結構。

在VS Code中建立您自己的程式碼片段

Tim選擇使用Visual Studio Code而不是程式碼片段生成工具,因為它簡單且提供XML語法高亮顯示。

他建立了一個名為readline.snippet的檔案,並展示了基本的XML結構:

<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

這是一個基本的片段,使用

Tim 指出,格式是從使用者的 Visual Studio 環境繼承的,這意味著縮排和間距將符合您的設定。

將程式碼片段匯入至Visual Studio

Tim 演示如何使用工具 > 程式碼片段管理器導入一個 .snippet 文件。 他選擇"我的程式碼片段"位置,確保程式碼片段在需要時顯示。

匯入後,鍵入 cr + Tab Tab 插入 Console.ReadLine() 行,準備將其值指定給變數或在異常處理區塊中使用。

可重複使用的文件標頭

接下來,Tim 示範了一段文件片段——這是企業專案或協作團隊中的常見需求。 他使用快捷鍵docme建立一個程式碼段,用於生成註釋塊:

/// Title:
/// Author:
/// Date:
/// Purpose:

這是追踪變更、作者身份和檔案背景的理想選擇。 雖然像Git這樣的工具處理版本控制,但標頭在大型團隊中特別提供了快速的視覺參考。

HTML片段:Bootstrap表單範例

片段不僅僅適用於C#程式碼。 Tim展示如何在HTML中使用它們——這對於建立表單、輸入元素和結構化標籤的集合來說是完美的。

他複製了一個Bootstrap表單範例,並將其包裹在相同的XML片段格式中,將語言更改為html。 匯入後,鍵入快捷方式sampleform會插入一個現成的HTML結構,讓您免於反覆引用外部URL或複製樣板。

包含佔位符和變數的進階程式碼片段

這是事情變得更先進、更強大的地方。 Tim 建立了一個用於檢索配置值的程式碼片段:

_config.GetValue<string>("values:myTest");

他展示了如何為型別(string, int, bool)和路徑(values:myTest)使用佔位符,這樣開發者只需要填寫不同的部分。

在XML中,他使用:

<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>
C#

在片段主體中:

_config.GetValue<$ValType$>("$Path$")

這種變數和聲明的使用使得程式碼生成具備靈活性、表達力和簡潔性。 它非常適合用於檢索安全設置、存取字典或從JSON文件中讀取巢狀值等任務。

為什麼程式碼片段能提升效能

Tim最後總結道,程式碼片段不僅僅是為了提升速度,它們還促進一致性做法,減少錯誤,並改善整個團隊的程式碼可讀性。 隨著時間推移,即使每個片段節省幾秒鐘,最終也可能節省數小時。

他強調片段有助於:

  • 常見任務初始化

使用try-catch-finally的標準化例外處理

建立整個類別範本

  • 在finally區塊內工作,結構化的catch區塊和方法覆寫

結論:開發者的優勢

無論您是在構建複雜系統還是簡單應用程式,程式碼片段都能幫助您更快且更一致地編寫C程式碼或C#程式碼。 它們使您能夠:

消除重複

  • 專注於業務邏輯

保持乾淨、插值良好且有良好文件的程式碼庫

正如Tim在其詳盡的影片中所建議的,探討您自己的編程習慣。 發現您重複輸入的內容。 然後,決定一種方法:建立一個片段。

您很快就會意識到,您的工作流程已經轉變——使開發更高效、有條理且愉快。

快速入門的程式碼片段點子

  • tryfinally – 生成 try + finally 區塊

  • logerror – 使用 Log.Error() 插入日誌邏輯

  • propnotify - 含有INotifyPropertyChanged的屬性

  • filecheck – 如果 File.Exists(path) 使用內嵌邏輯

  • foreachdict – 遍歷 Dictionary<TKey, TValue>

Tim的提示:不要只是從其他檔案中複製貼上—將其製作成一個程式碼片段,這樣就不必再重新輸入。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立