共用方式為


瞭解如何使用程式代碼編輯器

在此 Visual Studio 程式代碼編輯器簡介中,您會將程式代碼新增至檔案,並探索 Visual Studio 如何協助撰寫、瀏覽及瞭解程式代碼變得更容易。

Tip

如果您沒有 Visual Studio,請移至 Visual Studio 下載,然後免費安裝它。

如果您尚未安裝 Visual Studio,請移至 Visual Studio 下載 頁面免費安裝。

本文假設您已經熟悉程式設計語言。 如果您不是,建議您先查看其中一個程序設計快速入門,例如使用 PythonC# 建立 Web 應用程式,或使用 Visual BasicC++ 建立控制台應用程式。

Prerequisites

  • 已設定 C# 開發設定的 Visual Studio。 若要設定設定,請參閱 選取環境設定

建立新的程式代碼檔案

建立新的檔案,並在其中新增一些程序代碼。

  1. 開啟 Visual Studio。 按 Esc 鍵,或在開始視窗上選擇 不使用程式碼繼續 以開啟開發環境。

  2. 從功能表欄的 [ 檔案] 選單中,選取 [ 新增>檔案]。

  3. 在 [ 新增檔案 ] 對話框的 [ 一般 ] 類別下,選取 [Visual C# 類別],然後選取 [ 開啟]。

    新的檔案會在編輯器中開啟,其中包含 C# 類別的基本架構。 (請注意,我們不需要建立完整的 Visual Studio 專案,即可取得程式碼編輯器所提供的一些優點;您只需要程式代碼檔案!

    Visual Studio 中 C# 程式代碼檔案的螢幕快照。

  1. 開啟 Visual Studio。 選取 Esc 鍵,或選取 [開始] 視窗上的 [ 繼續但不使用程式代碼 ],以開啟開發環境。

  2. 從功能表欄的 [ 檔案 ] 選單中,選取 [ 新增>檔案],或選取 Ctrl+N 鍵。

  3. 在 [ 新增檔案] 對話框的 [ 一般 ] 類別底下,選取 [C# 類別],然後選取 [ 開啟]。

    新的檔案會以基本 C# 類別結構在編輯器中開啟。

    Visual Studio 2022 中 C# 程式代碼檔案的螢幕快照。

使用 GitHub Copilot

GitHub Copilot 可作為 AI 助理程式設計師,提供自動完成風格的程式碼補全和具內容感知的多行程式碼建議,讓你在編輯器中即時撰寫程式碼時使用。 GitHub Copilot 會將自然語言提示轉換成編碼建議,包括批注和方法名稱。 您可以直接在編輯器中檢視並納入 GitHub Copilot 的建議。

讓我們使用 Copilot 來產生程式代碼建議:

  1. 將游標放在檔案的最後右大括弧 } 正下方。

  2. 輸入自然語言批註: // Add a method to add two numbersEnter

  3. GitHub Copilot 會為您產生程式代碼建議。 建議的實作會以灰色文字顯示。

  4. 若要接受建議,請選取 Tab鍵

    動畫螢幕快照,顯示 GitHub Copilot 針對使用者批注所產生的程式代碼建議。

讓我們使用 Copilot Chat 將一個程式代碼相關的問題作為提示提交:

  1. 選取 IDE 右上角的 GitHub Copilot 徽章。

  2. 從下拉式清單中選取 開啟聊天視窗

  3. 在聊天視窗中輸入下列提示:

    
    Generate sample code for a simple C# method to add two numbers.
    
    
  4. Copilot Chat 會產生範例程式代碼,以回應您的提示。

GitHub Copilot 是由 AI 驅動的,因此可能會有意外和錯誤的情況發生。 如需詳細資訊,請參閱 GitHub Copilot 常見問題

Visual Studio 中開始使用 GitHub Copilot

使用程式碼片段

Visual Studio 提供實用的代碼段,可讓您用來快速產生常用的程式代碼區塊。 代碼段適用於數種程式設計語言,包括 C#、Visual Basic 和 C++。

現在,將 C# void Main 代碼段新增至您的檔案。

  1. 將游標放在檔案中最後一個右大括弧 } 上方,然後輸入字元 svm。 (svm 代表 static void MainMain() 方法是 C# 應用程式的進入點。

    彈出視窗隨即出現,其中包含 svm 代碼段的相關信息。

    Visual Studio 中的 IntelliSense 彈出視窗代碼段的螢幕快照。

  2. Tab 鍵 兩次以插入代碼段。

    您會看到 static void Main() 方法簽章已新增至檔案。

可用的代碼段會因不同的程式設計語言而有所不同。 您可以選擇 [編輯]>IntelliSense>[插入代碼段],然後選擇語言的資料夾,來查看語言的可用代碼段。 針對 C#,清單看起來會像這樣:

智能感知彈出視窗中 C# 代碼段的清單的螢幕快照。

  1. 將游標放在檔案中最後一個右大括弧 } 上方,然後輸入字元 svm

    彈出視窗隨即出現,其中包含 svm 代碼段的相關信息。

    Visual Studio 2022 中顯示代碼段的 IntelliSense 彈出視窗螢幕截圖。

  2. 選取 Tab 鍵兩次以插入代碼段。

    您會看到 static void Main() 方法簽章已新增至檔案。 Main() 方法是 C# 應用程式的進入點。

可用的代碼段會因程式設計語言而異。 若要檢視語言可用的代碼段,請移至 [編輯>IntelliSense>插入代碼段 ],或選取 Ctrl+KCtrl+X 鍵,然後選取程式設計語言的資料夾。 針對 C#,代碼段清單看起來像這樣:

一個顯示 C# 代碼段清單的 IntelliSense 彈出視窗的螢幕快照。

此清單包含建立 類別的代碼片段、建構函式的代碼片段、用於 迴圈、if 語句或 switch 語句等。

註解掉程式碼

工具列是 Visual Studio 功能表欄底下的按鈕列,可協助您在程式代碼時更具生產力。 例如,您可以切換 IntelliSense 完成模式(IntelliSense 是一種程式代碼輔助程式,可顯示相符方法的清單,以及其他事項)、增加或減少行縮排,或批注您不想編譯的程式代碼。 在本節中,我們將批注化一些程序代碼。

Visual Studio 中編輯器工具列的螢幕快照。

  1. 將下列程式代碼貼到 Main() 方法主體中。

    // _words is a string array that we'll sort alphabetically
    string[] _words = {
        "the",
        "quick",
        "brown",
        "fox",
        "jumps"
    };
    
    string[] morewords = {
        "over",
        "the",
        "lazy",
        "dog"
    };
    
    IEnumerable<string> query = from word in _words
                                orderby word.Length
                                select word;
    
  2. 我們不會使用 morewords 變數,但稍後可能會使用它,因此我們不想完全刪除它。 相反地,讓我們把這些行註釋掉。 選取 morewords 的整個定義到結尾的分號,然後選擇工具列上的 [註解選取的行] 按鈕。 如果您想要使用鍵盤,請按 ctrl+KCtrl+C

    Visual Studio 中編輯器工具列中 [批註] 按鈕的螢幕快照。

    C# 批註字元 // 會新增至每個選取行的開頭,以批注化程序代碼。

[文本編輯器] 工具列,Visual Studio 功能表欄底下的按鈕列,可協助您在程序代碼時更具生產力。 例如,您可以切換 IntelliSense 完成模式、增加或減少行縮排,或批注化您不想編譯的程式代碼。

Visual Studio 2022 中的文字編輯器工具列螢幕快照。

讓我們批注化一些程序代碼。

  1. 將下列程式代碼貼到 Main() 方法主體中。

    // someWords is a string array.
    string[] someWords = {
        "the",
        "quick",
        "brown",
        "fox",
        "jumps"
    };
    
    string[] moreWords = {
        "over",
        "the",
        "lazy",
        "dog"
    };
    
    // Alphabetically sort the words.
    IEnumerable<string> query = from word in someWords
                                orderby word
                                select word;
    
  2. 變數 moreWords 目前未使用,但稍後可能會使用它,因此您可以註解掉這些行,而非刪除它。 選取moreWords定義中的全部內容直到結尾分號,然後選取 [文本編輯器] 工具列上的 [註解選取的行] 按鈕,或按下Ctrl+K 再按Ctrl+C

    Visual Studio 2022 中文本編輯器工具列中 [批注] 按鈕的螢幕快照。

    C# 批註字元 // 會新增至每個選取行的開頭,以批注化程序代碼。

    若要取消批注行,您可以選取它們,然後選取 [文本編輯器] 工具列上的 [取消批注選取的行] 按鈕,或選取 Ctrl+、Ctrl+U

    Visual Studio 2022 中 [文本編輯器] 工具列中 [取消批注] 按鈕的螢幕快照。

折疊程式代碼區塊

我們不想看到針對 產生的空的 Class1,因此為了清理程式碼視圖,讓我們將其收起。 在建構函式第一行的邊界中,選擇內含減號的小灰色方塊。 或者,如果您想要使用鍵盤,請將游標放在建構函式程序代碼中的任何位置,然後按 ctrl+MCtrl+M

Visual Studio 中 [文字編輯器] 工具列中大綱摺疊按鈕的螢幕快照。

代碼區塊折疊至僅顯示第一行,後面接著省略號 (...)。 若要再次展開程式代碼區塊,請單擊現在有加號的相同灰色方塊,或按 Ctrl+MCtrl+M。 這項功能稱為 大綱,當您摺疊長方法或整個類別時特別有用。

如果您不想看到針對構造函式產生的空白建構函式,您可以將它折疊來簡化程式碼的檢視。 選取建構函式第一行邊界的插入號。 或者,如果您想要使用鍵盤,請將游標放在建構函式程序代碼中的任何位置,然後選取 Ctrl+、Ctrl+M 鍵。

[文本編輯器] 工具列中 [大綱摺疊] 按鈕的螢幕快照。

代碼區塊折疊至僅顯示第一行,後面接著省略號 (...)。 若要再次展開程式代碼區塊,請選取插入號 (>),或再次選取 Ctrl+MCtrl+M 。 這項功能稱為 大綱,當您摺疊長方法或整個類別時特別有用。

檢視符號定義

Visual Studio 編輯器可讓您輕鬆地檢查類型、方法等的定義。其中一種方式是流覽至包含定義的檔案,例如,選擇 [移至定義 ] 來參考符號的任何位置。 在不必將注意力移出工作檔案的情況下,更快速的方法是使用 查看定義。 讓我們查看 string 類型的定義。

  1. 以滑鼠右鍵點擊任何出現的 string,然後從內容功能表選擇 查看定義。 或者,按 Alt+F12

    彈出視窗隨即出現,其中包含 String 類別的定義。 您可以在彈出視窗內捲動,或甚至從窺視的程式代碼查看另一種類型的定義。

    Visual Studio 中 [查看定義] 視窗的螢幕快照。

  2. 選擇彈出式視窗右上方具有「x」的小方塊,以關閉預覽定義視窗。

Visual Studio 編輯器可讓您輕鬆地檢查類型、方法或變數的定義。 其中一種方式是選擇 移至定義,或者在參考符號的任何位置按下 F12 鍵,不論其在哪個檔案中。 一種更快的方法就是使用 查看定義,這樣不會將焦點從您處理的程式代碼移開。

讓我們查看 string 類型的定義。

  1. 以滑鼠右鍵點擊任何出現的 string,然後從內容功能表選擇 查看定義。 或者,選取 Alt+F12 鍵。

    彈出視窗隨即出現,其中包含 String 類別的定義。 您可以在彈出視窗內捲動,或甚至從窺視的程式代碼查看另一種類型的定義。

    Visual Studio 中 [查看定義] 視窗的螢幕快照。

  2. 選擇彈出視窗右上方附有「x」的小方塊,以關閉預覽定義視窗。

使用 IntelliSense 完成單字

當您撰寫程式代碼時,IntelliSense 是寶貴的資源。 它可以顯示類型可用成員的相關資訊,或者方法不同重載的參數詳細資訊。 您也可以在輸入足夠的字元以消除歧義後,使用 IntelliSense 補全一個單詞。 讓我們新增一行程式代碼,將已排序的字串列印到主控台視窗,這是程式輸出的標準位置。

  1. query 變數下方,開始輸入下列程式代碼:

    foreach (string str in qu
    

    您會看到 IntelliSense 顯示

    Visual Studio 中的 IntelliSense 自動完成提示視窗螢幕擷圖。

  2. 若要使用 IntelliSense 的文字自動完成功能插入其餘字組 query,請按 Tab

  3. 完成程式碼區塊,使其看起來像以下的程式碼。 您甚至可以輸入 cw,然後按 Tab 鍵 兩次來產生 Console.WriteLine 程式代碼,以再次練習使用代碼段。

    foreach (string str in query)
    {
       Console.WriteLine(str);
    }
    

當您撰寫程式代碼時,IntelliSense 是寶貴的資源。 它可以顯示類型可用成員的相關資訊,或者方法不同重載的參數詳細資訊。 您也可以在輸入足夠的字元以消除歧義後,使用 IntelliSense 補全一個單詞。

讓我們新增一行程式代碼,將已排序的字串列印到主控台視窗,這是程式輸出的標準位置。

  1. query 變數下方,開始輸入下列程式代碼:

    foreach (string str in qu
    

    您會看到 IntelliSense 快顯隨即出現,其中包含 query 符號的相關資訊。

    Visual Studio 2022 中 IntelliSense 文字自動完成的彈出視窗的螢幕快照。

    如果您使用具有 Copilot 訂用帳戶的 GitHub 帳戶登入,您也會看到程式代碼建議以灰色文字顯示。

  2. 若要使用 IntelliSense 的字詞自動完成功能來插入字詞的其餘部分 query,請按 Tab 鍵。

  3. 完成程式碼區塊,使其看起來像以下的程式碼。 您可以輸入 cw,然後按 Tab 鍵兩次,以產生 Console.WriteLine 陳述式,進一步練習程式碼片段。

    foreach (string str in query)
    {
       Console.WriteLine(str);
    }
    

重構名稱

沒有人能一次就寫出正確的程式碼,而您可能需要變更的其中一件事就是變數或方法的名稱。 讓我們嘗試 Visual Studio 的 重構 功能,將 _words 變數重新命名為 words

  1. 將游標放在 _words 變數的定義上方,然後從滑鼠右鍵或操作選單選擇 [重新命名 ],或按 ctrl+RCtrl+R

    快顯 [重新命名] 對話框會出現在編輯器的右上方。

  2. 輸入想要的名稱 字數。 請注意,查詢中 words 的參考也會自動重新命名。 在您按下 Enter之前,請在 重新命名 彈出視窗中,選取 包含批注 的複選框。

    Visual Studio 中 [重新命名] 對話框的螢幕快照。

  3. Enter 鍵。

    兩次出現的 words 均已重新命名,程式碼註釋中的 words 引用亦已更改。

沒有人能一次就寫出正確的程式碼,而您可能需要變更的其中一件事就是變數或方法的名稱。 讓我們嘗試 Visual Studio 的 重構 功能,將 someWords 變數重新命名為 unsortedWords

  1. 將游標放在變數的定義 someWords 上方,然後從滑鼠右鍵或作功能表中選擇 [重新命名 ],或選取 F2 鍵。

    編輯器右上方會出現 [重新命名] 對話框。

    Visual Studio 2022 編輯器內 [重新命名] 彈出視窗的螢幕快照。

  2. 輸入所需的名稱 未排序的字。 您會看到 unsortedWords 指派語句中 query 的參考也會自動重新命名。 在您選取 Enter 鍵之前,請選取 [重新命名] 彈出視窗中的 [包含批注] 複選框。

    Visual Studio 2022 中 [重新命名] 彈出視窗的螢幕快照。

  3. 選取 [Enter] 鍵。

    程式碼中兩處出現的 someWords 已被重新命名,同樣地,程式碼批註中的文字 someWords 也已重新命名。

後續步驟

另請參閱