この Visual Studio コード エディターの概要では、ファイルにコードを追加し、Visual Studio がコードの記述、移動、理解を容易にする方法について説明します。
Tip
Visual Studio をお持ちでない場合は、Visual Studio のダウンロード に移動して無料でインストールしてください。
Visual Studio をまだインストールしていない場合は、Visual Studio のダウンロード ページに移動して無料でインストールします。
この記事では、プログラミング言語について既に理解していることを前提としています。 そうでない場合は、 最初 に、Python または C# で Web アプリを作成する、 Visual Basic または C ++ でコンソール アプリを作成するなどのプログラミング クイック スタートのいずれかを参照することをお勧めします。
Prerequisites
- C# 開発設定が構成された Visual Studio。 設定を構成するには、「 環境設定の選択」を参照してください。
新しいコード ファイルを作成する
新しいファイルを作成し、それにコードを追加します。
Visual Studio を開きます。 Esc を押すか、スタートウィンドウで「コードを入力せずに続行 」を選択して開発環境を開きます。
メニュー バーの [ファイル] メニューから、[新規作成>File] を選択します。
[ 新しいファイル ] ダイアログ ボックスの [ 全般 ] カテゴリで、[ Visual C# クラス] を選択し、[ 開く] を選択します。
C# クラスのスケルトンを含む新しいファイルがエディターで開きます。 (コード エディターが提供する利点の一部を得るために、完全な Visual Studio プロジェクトを作成する必要はありません。必要なのはコード ファイルのみであることに注意してください)。
Visual Studio を開きます。 Esc キーを選択するか、スタート ウィンドウでコードなしで [続行] を選択して開発環境を開きます。
メニュー バーの [ファイル] メニューから[新規作成]>[ファイル]、または Ctrl+N キーを選択します。
[ 新しいファイル ] ダイアログ ボックスの [ 全般 ] カテゴリで、[ C# クラス] を選択し、[ 開く] を選択します。
基本的な C# クラス構造を持つ新しいファイルがエディターで開きます。
GitHub Copilot を使用する
GitHub Copilot は AI ペア プログラマとして機能し、エディターでコードをリアルタイムで行う際に、オートコンプリートスタイルのコード補完とコンテキストに対応した複数行のコード候補を提供します。 GitHub Copilot は、コメントやメソッド名を含む自然言語プロンプトをコーディングの提案に変換します。 GitHub Copilot から直接エディター内で提案を表示および組み込むことができます。
Copilot を使用してコードの提案を生成してみましょう。
ファイル内の最後の閉じ中括弧 } の直下にカーソルを置きます。
自然言語のコメントを入力します:
// Add a method to add two numbers
と Enter。GitHub Copilot によってコード提案が生成されます。 推奨される実装は灰色のテキストで表示されます。
提案を受け入れるには、[ Tab] を選択します。
Copilot Chat を使用して、コーディング関連の質問をプロンプトとして送信してみましょう。
IDE の右上隅にある GitHub Copilot バッジを選択します。
ドロップダウンから [ チャット ウィンドウを開く ] を選択します。
チャット ウィンドウに次のプロンプトを入力します。
Generate sample code for a simple C# method to add two numbers.
Copilot Chat は、プロンプトに応答してサンプル コードを生成します。
GitHub Copilot は AI を利用しているため、驚きや間違いが起こりうる可能性があります。 詳細については、 GitHub Copilot に関する FAQ を参照してください。
コード スニペットを使用する
Visual Studio には、一般的に使用されるコード ブロックをすばやく生成するために使用できる便利なコード スニペットが用意されています。 コード スニペットは、C#、Visual Basic、C++ など、いくつかのプログラミング言語で使用できます。
次に、C# void Main
スニペットをファイルに追加します。
ファイル内の最後の右中かっこ } のすぐ上にカーソルを置き、
svm
文字を入力します。 (svm
static void Main
を表します。Main() メソッドは C# アプリケーションのエントリ ポイントです)。svm
コード スニペットに関する情報が表示されたポップアップ ダイアログ ボックスが表示されます。Tab を 2 回押して、コード スニペットを挿入します。
static void Main()
メソッドシグネチャがファイルに追加されることがわかります。
使用可能なコード スニペットは、プログラミング言語によって異なります。 編集>IntelliSense>スニペットを挿入 を順に選択し、次にお使いの言語のフォルダーを選択すると、その言語で利用可能なコード スニペットを確認できます。 C# の場合、リストは次のようになります。
ファイル内の最後の右中かっこ
}
のすぐ上にカーソルを置き、svm
文字を入力します。svm
コード スニペットに関する情報が表示されたポップアップ ダイアログ ボックスが表示されます。Tab キーを 2 回選択して、コード スニペットを挿入します。
static void Main()
メソッドシグネチャがファイルに追加されることがわかります。 Main() メソッドは、C# アプリケーションのエントリ ポイントです。
使用可能なコード スニペットは、プログラミング言語によって異なります。 使用している言語で使用可能なコード スニペットを表示するには、Edit>IntelliSense>Insert Snippet に移動するか、Ctrl キー+K キー、Ctrl キー+X キーを選択してから、プログラミング言語のフォルダーを選択します。 C# の場合、コード スニペットの一覧は次のようになります。
この一覧には、 クラス、 コンストラクター、 for ループ、 if または switch ステートメントなどを作成するためのスニペットが含まれています。
コードをコメント アウトする
Visual Studio のメニュー バーの下にあるボタンの行であるツール バーは、コードの生産性を高めるのに役立ちます。 たとえば、IntelliSense 入力候補モードを切り替えたり (IntelliSense は、一致するメソッドの一覧を表示するコーディング補助機能です)、行のインデントを増減したり、コンパイルしたくないコードをコメント アウトしたりできます。 このセクションでは、いくつかのコードをコメントアウトします。
次のコードを
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;
morewords
変数は使用していませんが、後で使用する可能性があるため、完全に削除する必要はありません。 代わりに、これらの行をコメントアウトしましょう。 閉じるセミコロンにmorewords
の定義全体を選択し、ツールバーの 選択した行をコメントアウト ボタンを選択します。 キーボードを使用する場合は、 Ctrl+K、 Ctrl+C キーを押します。//
の C# コメント文字は、コードをコメント アウトするために、選択した各行の先頭に追加されます。
Visual Studio のメニュー バーの下にあるボタンの行であるテキスト エディター ツール バーは、コードを記述する際の生産性を高めるのに役立ちます。 たとえば、IntelliSense の入力補完モードを切り替える、インデントを増やしたり減らしたりする、またはコンパイルしたくないコードをコメントアウトすることができます。
いくつかのコードをコメントアウトしましょう。
次のコードを
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;
moreWords
変数は現在使用されていませんが、後で使用する可能性があるため、削除する代わりに、それらの行をコメント アウトできます。moreWords
の定義全体を閉じるセミコロンまで選択し、[テキスト エディター] ツール バーの [選択した行をコメント アウトする] ボタンを選択するか、Ctrl+K、Ctrl+C を選択します。//
の C# コメント文字は、コードをコメント アウトするために、選択した各行の先頭に追加されます。コメントを解除するには、行を選択し、[テキスト エディター] ツール バーの [選択した行のコメント 解除] ボタンを選択するか、 Ctrl+K、 Ctrl+U を選択します。
コード ブロックを折りたたむ
用に生成された空のClass1
は表示したくないので、コードのビューを整理するために、折りたたみましょう。 コンストラクターの最初の行の余白の中に負符号が付いた小さな灰色のボックスを選択します。 または、キーボードを使用する場合は、コンストラクター コード内の任意の場所にカーソルを置き、Ctrl+M、Ctrl+キーを押します。
コード ブロックは最初の行のみに折りたたまれて、次に省略記号 (...
) が続きます。 コード ブロックをもう一度展開するには、プラス記号が付いているのと同じ灰色のボックスをクリックするか、 Ctrl+M、 Ctrl+M キーをもう一度押します。 この機能は アウトライン と呼ばれ、長いメソッドまたはクラス全体を折りたたむ場合に特に便利です。
用に生成された空のClass1
を表示したくない場合は、折りたたんでコードのビューを整理できます。 コンストラクターの最初の行の余白でキャレット記号を選択します。 または、キーボードを使用する場合は、コンストラクター コード内の任意の場所にカーソルを置き、Ctrl+M キー、Ctrl キー+M キーを選択します。
コード ブロックは最初の行のみに折りたたまれて、次に省略記号 (...
) が続きます。 コード ブロックをもう一度展開するには、キャレット記号 (>
) を選択するか、 Ctrl+M、 Ctrl+M をもう一度選択します。 この機能は アウトライン と呼ばれ、長いメソッドまたはクラス全体を折りたたむ場合に特に便利です。
シンボル定義の表示
Visual Studio エディターを使用すると、型やメソッドなどの定義を簡単に調べることができます。1 つの方法は、たとえばシンボルが参照されている任意の場所で [定義 に移動 ] を選択して、定義を含むファイルに移動することです。 作業中のファイルからフォーカスを移動しないより迅速な方法としては、[定義をここに表示] を使用します。 string
型の定義を見てみましょう。
任意の
string
を右クリックし、コンテンツ メニューから [定義をここに表示 ] を選択します。 または、 Alt+F12 キーを押します。String
クラスの定義が表示されたポップアップ ウィンドウが表示されます。 ポップアップ ウィンドウ内をスクロールしたり、ピークされたコードから別の種類の定義をピークしたりできます。ポップアップ ウィンドウの右上にある "x" の小さなボックスを選択して、ピークされた定義ウィンドウを閉じます。
Visual Studio エディターを使用すると、型、メソッド、または変数の定義を簡単に調べることができます。 1 つの方法は、[定義に移動] を選択するか、シンボルが参照されている任意の場所で F12 キーを選択して、定義に移動することです。 作業中のコードからフォーカスを移動しない、さらに簡単な方法としては、[定義をここに表示] を使用します。
string
型の定義を見てみましょう。
任意の
string
を右クリックし、コンテンツ メニューから [定義をここに表示 ] を選択します。 または、Alt キー+F12 キーを選択します。String
クラスの定義が表示されたポップアップ ウィンドウが表示されます。 ポップアップ ウィンドウ内をスクロールしたり、ピークされたコードから別の種類の定義をピークしたりできます。ポップアップ ウィンドウの右上にある "x" の小さなボックスを選択して、定義ウィンドウを閉じます。
IntelliSense を使用して単語を完成させる
IntelliSense は、コーディング時に非常に重要なリソースです。 使用可能な型のメンバーに関する情報や、メソッドのさまざまなオーバーロードのパラメーターの詳細を表示できます。 また、あいまいさを解消するのに十分な文字を入力した後に、IntelliSense を使用して単語を完成させることができます。 順序付けされた文字列をコンソール ウィンドウに出力するコード行を追加しましょう。これは、プログラムからの出力を行う標準的な場所です。
query
変数の下に、次のコードを入力します。foreach (string str in qu
IntelliSense が
query
シンボルに関するクイック ヒントを表示しているのがわかります。IntelliSense の単語補完機能を使用して
query
単語の残りの部分を挿入するには、Tab 押します。コード ブロックを終了すると、次のコードのようになります。
cw
を入力し、Tab キーを 2 回押してConsole.WriteLine
コードを生成することで、コード スニペットをもう一度使用する方法を練習することもできます。foreach (string str in query) { Console.WriteLine(str); }
IntelliSense は、コーディング時に非常に重要なリソースです。 使用可能な型のメンバーに関する情報や、メソッドのさまざまなオーバーロードのパラメーターの詳細を表示できます。 また、あいまいさを解消するのに十分な文字を入力した後に、IntelliSense を使用して単語を完成させることができます。
順序付けされた文字列をコンソール ウィンドウに出力するコード行を追加しましょう。これは、プログラムからの出力を行う標準的な場所です。
query
変数の下に、次のコードを入力します。foreach (string str in qu
query
シンボルに関する情報を含む IntelliSense ポップアップが表示されます。Copilot サブスクリプションを持つ GitHub アカウントでサインインしている場合は、コード候補が灰色のテキストで表示されます。
IntelliSense 単語入力候補を使用して
query
単語の残りの部分を挿入するには、 Tab キーを押します。コード ブロックを終了すると、次のコードのようになります。
cw
を入力し、Tab を 2 回選択してConsole.WriteLine
ステートメントを生成することで、コード スニペットをさらに練習できます。foreach (string str in query) { Console.WriteLine(str); }
名前をリファクタリングする
誰も最初に正しいコードを取得しません。変更する必要がある可能性のあるものの 1 つは、変数またはメソッドの名前です。 Visual Studio の リファクタリング 機能を試して、 _words
変数の名前を words
に変更してみましょう。
_words
変数の定義の上にカーソルを置き、右クリックまたはコンテキスト メニューから [名前の変更] を選択するか、Ctrl+R、Ctrl+キーを押します。エディターの右上にポップアップ [名前の変更 ] ダイアログ ボックスが表示されます。
目的の名前 の単語を入力します。 クエリ内の
words
への参照も自動的に名前が変更されていることに注意してください。 Enter キーを押す前に、[名前の変更] ポップアップ ボックスの [コメントを含める] チェック ボックスをオンにします。Press Enter.
words
の両方の出現箇所の名前が変更され、コード コメント内のwords
への参照も変更されました。
誰も最初に正しいコードを取得しません。変更する必要がある可能性のあるものの 1 つは、変数またはメソッドの名前です。 Visual Studio の リファクタリング 機能を試して、 someWords
変数の名前を unsortedWords
に変更してみましょう。
someWords
変数の定義の上にカーソルを置き、右クリックまたはコンテキスト メニューから [名前の変更] を選択するか、F2 キーを押します。エディターの右上に [名前の変更 ] ダイアログ ボックスが表示されます。
希望する名前として unsortedWords を入力してください。
unsortedWords
代入ステートメントのquery
への参照も自動的に名前が変更されていることがわかります。 Enter キーを押す前に、[名前の変更] ポップアップ ボックスで [コメントを含める] チェック ボックスをオンにします。Enter キーを選択します。
コード内の
someWords
の両方の出現箇所の名前が変更されました。また、コード コメント内のテキストsomeWords
も変更されています。
Next steps
プロジェクトとソリューションの について説明します