C# でコード エディターを使用する方法を学習する
この 10 分間の Visual Studio のコード エディターの紹介では、ファイルにコードを追加した上で、Visual Studio でコードを記述、コード内を移動、および C# コードを理解する簡単な方法をいくつか説明します。
Visual Studio をまだインストールしていない場合は、Visual Studio のダウンロード ページに移動し、無料試用版をインストールしてください。
この記事では、既に C# を使い慣れていることを前提としています。 使い慣れていない場合は、最初に Visual Studio での C# と ASP.NET Core の概要などのチュートリアルに関するページを参照することをお勧めします。
ヒント
この記事に従うには、Visual Studio に対して C# 設定が選択されていることを確認します。 統合開発環境 (IDE) の設定の選択については、「Select environment settings (環境設定を選択する)」 を参照してください。
新しいコード ファイルを作成する
新しいファイルを作成し、何らかのコードをそのファイルに追加することから始めます。
Visual Studio を開きます。 スタート ウィンドウで Esc キーを押すか、または [コードなしで続行] をクリックして、開発環境を開きます。
メニュー バーの [ファイル] メニューから、 [新規作成]>[ファイル] を選択するか、Ctrl+N キーを押します。
[新しいファイル] ダイアログ ボックスの [全般] カテゴリで、 [Visual C# クラス] を選択し、 [開く] を選択します。
エディターで新しいファイルが開かれ、C# クラスのスケルトンが表示されます。 (コード エディターによって提供される利点の一部を活用するために、完全な Visual Studio プロジェクトを作成する必要はありません。必要なのはコード ファイルだけです)
Visual Studio を開きます。 スタート ウィンドウで Esc キーを押すか、 [コードなしで続行] を選択して、開発環境を開きます。
メニュー バーの [ファイル] メニューから、 [新規作成]>[ファイル] を選択するか、Ctrl+N キーを押します。
[新しいファイル] ダイアログ ボックスの [全般] カテゴリで、 [Visual C# クラス] を選択し、 [開く] を選択します。
エディターで新しいファイルが開かれ、C# クラスのスケルトンが表示されます。 コード エディターによって提供される利点の一部を活用するために、完全な Visual Studio プロジェクトを作成する必要はありません。必要なのはコード ファイルだけです。
コード スニペットを使用する
Visual Studio で提供されている便利なコード スニペットを使用すると、一般的に使用されるコード ブロックを迅速かつ簡単に生成することができます。 コード スニペットは、C#、Visual Basic、C++ など、さまざまなプログラミング言語で使用することができます。
C# void Main
スニペットをファイルに追加してみましょう。
ファイル内の最後の閉じかっこ } のちょうど上にカーソルを置き、文字
svm
を入力します (これは、static void Main
の略ですが、その意味が分からなくても、あまり心配しないでください)。ポップアップ ダイアログ ボックスが
svm
コード スニペットに関する情報を伴って表示されます。Tab キーを 2 回押すと、コード スニペットが挿入されます。
static void Main()
メソッドの署名がファイルに追加されているのがわかります。 Main() メソッドは、C# アプリケーションのエントリ ポイントです。
利用できるコード スニペットは、プログラミング言語によって異なります。 目的の言語で使用可能なコード スニペットを確認するには、 [編集]>[IntelliSense]>[スニペットの挿入] の順に選択するか、Ctrl+K、Ctrl+X キーを押して、言語のフォルダーを選択します。 C# の場合、リストは次のようになります。
ファイル内の最後の閉じかっこ
}
のすぐ上にカーソルを置き、svm
という文字を入力します。svm
はstatic void Main
の略です。まだ意味がわからなくても心配ありません。ポップアップ ダイアログ ボックスが
svm
コード スニペットに関する情報を伴って表示されます。Tab キーを 2 回押すと、コード スニペットが挿入されます。
static void Main()
メソッドの署名がファイルに追加されることがわかります。 Main() メソッドは、C# アプリケーションのエントリ ポイントです。
利用できるコード スニペットは、プログラミング言語によって異なります。 目的の言語で使用可能なコード スニペットを確認するには、 [編集]>[IntelliSense]>[スニペットの挿入] を選択するか、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# コメント文字
//
を追加すると、コードがコメント アウトされます。
コード ブロックを折りたたむ
Class1
のために生成された空のコンストラクターを表示したくないので、コードのビューを整理するために、折りたたみましょう。 コンストラクターの最初の行の余白にある、内部にマイナス記号が表示された小さな灰色のボックスを選択します。 また、キーボードを使用する場合は、コンストラクター コード内の任意の場所にカーソルを置き、Ctrl+M キー、Ctrl+M キーを押します。
コード ブロックが最初の行に折りたたまれ、後続に省略記号 (...
) が表示されます。 コード ブロックを再度展開するには、現在内部にプラス記号が表示されている同じ灰色のボックスをクリックするか、Ctrl+M キー、Ctrl+M キーをもう一度押します。 これは、アウトライン機能と呼ばれ、長いメソッドまたはクラス全体を折りたたむ場合に特に便利です。
コード ブロックが最初の行に折りたたまれ、後続に省略記号 (...
) が表示されます。 コード ブロックを再度展開するには、現在内部にプラス記号が表示されている同じ灰色のボックスを選択するか、Ctrl+M キー、Ctrl+M キーの順に押します。 これは、アウトライン機能と呼ばれ、長いメソッドまたはクラス全体を折りたたむ場合に特に便利です。
シンボル定義の表示
Visual Studio エディターでは、型やメソッドなどの定義の検査を容易に行うことができます。1 つの方法として、たとえば、シンボルが参照されている任意の場所で [定義へ移動] を選択するか F12 キーを押して、定義を含むファイルに移動します。 作業中のファイルからフォーカスを移動しないより迅速な方法としては、[定義をここに表示] を使用します。 string
型の定義を参照してみましょう。
string
が出現している箇所を右クリックし、コンテンツ メニューから [定義をここに表示] を選択します。 または、Alt+F12 キーを押します。String
クラスの定義を含むポップアップ ウィンドウが表示されます。 ポップアップ ウィンドウ内をスクロールすることも、参照しているコードから別の種類の定義を参照することもできます。表示された定義ウィンドウを閉じるには、ポップアップ ウィンドウの右上にある、内部に "x" が表示された小さなボックスを選択します。
Visual Studio エディターでは、型、メソッド、変数の定義を簡単に調べることができます。 たとえば、シンボルが参照されている場所で [定義へ移動] を選択するか 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
IntelliSense のポップアップに
query
シンボルに関する情報が表示されることがわかります。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+R キーを押します。エディターの右上に [名前の変更] ダイアログ ボックスがポップアップ表示されます。
目的の名前 words を入力します。 クエリ内の
words
への参照も名前が自動的に変更されることに注意してください。 Enter キーを押す前に、 [名前の変更] ポップアップ ボックスで [コメントを含める] チェック ボックスを選択します。Enter キーを押します。
words
の出現箇所とコード コメント内のwords
への参照箇所の両方で名前が変更されました。
だれも最初から適切なコードは記述できないものです。変更を必要とする可能性のある要素の 1 つに、変数またはメソッドの名前があります。 Visual Studio のリファクタリング機能を使用して、someWords
変数の名前を unsortedWords
に変更してみましょう。
someWords
変数の定義にカーソルを置き、右クリックまたはコンテキスト メニューから [名前の変更] を選択するか、F2 キーを押します。エディターの右上に [名前の変更] ダイアログ ボックスが表示されます。
目的の名前「unsortedWords」を入力します。
query
代入ステートメント内のunsortedWords
への参照も自動的に名前が変更されることがわかります。 Enter キーを押す前に、 [名前の変更] ポップアップ ボックスで [コメントを含める] チェック ボックスを選択します。Enter キーを押すか、 [名前の変更] ダイアログ ボックスで [適用] を選択します。
コード内の
someWords
の両方の出現箇所と、コードのコメント内のテキストsomeWords
の名前が変更されました。