Visual Studio IDE へようこそ | C#

統合開発環境 (IDE) は、ソフトウェア開発の多くの側面をサポートする機能を豊富に備えたプログラムです。 Visual Studio IDE は、コードの編集、デバッグ、ビルドを行ってから、アプリを発行するために使用できるクリエイティブなランチパッドです。 大部分の IDE が備える標準的なエディターおよびデバッガーに加えて、Visual Studio ではコンパイラ、コード補完ツール、グラフィック デザイナーなど、ソフトウェア開発プロセスを強化する多くの機能が用意されています。

主要な機能がどこに配置されているかを示す引き出し線を含む Visual Studio 2019 IDE のスクリーンショット。

Visual Studio 2022 IDE と主要な機能の場所を示す引き出し線を示すスクリーンショット。

上の画像はプロジェクトを開いた状態の Visual Studio であり、主要なウィンドウとその機能が示されています。

  • ソリューション エクスプローラーの右上では、コード ファイルの表示、移動、管理を行うことができます。 ソリューション エクスプローラーでは、ファイルをソリューションやプロジェクトにまとめ、コードを整理できます。

  • 中央のエディター ウィンドウには、ファイルの内容が表示されます。おそらくほとんどの時間をここで費やすことになります。 エディター ウィンドウでは、コードを編集することや、ボタンとテキスト ボックスがあるウィンドウなどのユーザー インターフェイスをデザインすることができます。

  • 右下の [Git 変更] では、GitGitHub などのバージョン コントロール テクノロジを使用して作業項目を追跡し、コードを他のユーザーと共有することができます。

エディション

Visual Studio は Windows と Mac で利用できます。 Visual Studio for Mac は Visual Studio for Windows と同じ機能を多く備え、クロスプラットフォーム アプリとモバイル アプリの開発用に最適化されています。 この記事では、Windows バージョンの Visual Studio について説明します。

Visual Studio には 3 つのエディションがあります:という 3 つのエディションの Visual Studio 2017 があります。 各エディションでサポートされている機能については、Visual Studio エディションの比較に関するページを参照してください。

ソフトウェア開発時の生産性を向上させる Visual Studio のよく使われる機能には次のようなものがあります。

  • 波線とクイック アクション

    波線は波打った下線で、コード入力時にエラーや潜在的な問題を警告します。 ビルド時や実行時にエラーが発見されるのを待つことなく、これらの視覚的な手がかりによって問題をすぐに修正することができます。 波線にマウス カーソルを合わせると、エラーに関する詳細情報が表示されます。 また、エラーを修正するために実行できる "クイック アクション" を示す電球が左の余白に表示されることもあります。

    Visual Studio の波線を示すスクリーンショット。

    Visual Studio の波線を示すスクリーンショット。

  • コードのクリーンアップ

    ボタンをクリックして、コードを書式設定し、ご自身のコード スタイルの設定.editorconfig 規則Roslyn アナライザーで提案されるコード修正をすべて適用することができます。 コードのクリーンアップは現在 C# コードでのみ使用できます。コード レビューに進む前にコードの問題を解決するのに役立ちます。

    Visual Studio の [コードのクリーンアップ] アイコンとメニューのスクリーンショット。

  • コードのクリーンアップ

    ボタンをクリックして、コードを書式設定し、ご自身のコード スタイルの設定.editorconfig 規則Roslyn アナライザーで提案されるコード修正をすべて適用することができます。 コードのクリーンアップは現在 C# コードでのみ使用できます。コード レビューに進む前にコードの問題を解決するのに役立ちます。

    Visual Studio の [コードのクリーンアップ] アイコンとメニューのスクリーンショット。

  • リファクタリング

    リファクタリングには、変数の名前をインテリジェントに変更する、1 つ以上のコード行を新しいメソッドに抽出する、メソッド パラメーターを並べ替えるという操作が含まれます。

    Visual Studio のリファクタリングを示すスクリーンショット。

    Visual Studio のリファクタリングを示すスクリーンショット。

  • IntelliSense

    IntelliSense は、コードに関する情報をエディターに直接表示し、場合によっては、ちょっとしたコードを自動的に作成する機能のセットです。 エディター内のインラインに基本ドキュメントがあるようなものなので、他の場所で型情報を検索する必要がありません。

    次の図は、IntelliSense によって型のメンバー リストがどのように表示されるかを示したものです。

    IntelliSense のメンバー リストを示すスクリーンショット。

    IntelliSense のメンバー リストを示すスクリーンショット。

    IntelliSense 機能は言語によって異なります。 詳細については、「C# の IntelliSense」、「Visual C++ の IntelliSense」、「JavaScript IntelliSense」、および Visual Basic IntelliSense に関するページを参照してください。

  • Visual Studio search

    Visual Studio のメニュー、オプション、プロパティは手に負えないもののように思えるかもしれません。 Visual Studio 検索 (Ctrl+Q) を使用すると、IDE の機能やコードを 1 か所ですばやく見つけることができます。

    Visual Studio 2019 の [クイック起動] 検索ボックスを示すスクリーンショット。

    情報や生産性に関するヒントについては、Visual Studio 検索の使用方法に関するページを参照してください。

    Visual Studio の [クイック起動] 検索ボックスを示すスクリーンショット。

    情報や生産性に関するヒントについては、Visual Studio 検索の使用方法に関するページを参照してください。

  • Live Share

    アプリの種類やプログラミング言語に関係なく、リアルタイムで他のユーザーと共同で編集やデバッグを行います。 プロジェクトは、すぐにかつ安全に共有できます。 また、デバッグ セッション、ターミナル インスタンス、localhost Web アプリ、音声通話なども共有できます。

  • 呼び出し階層

    [呼び出し階層] ウィンドウには、選択したメソッドを呼び出すメソッドが表示されます。 この情報は、メソッドの変更や削除について考えるとき、またはバグの追跡を試みるときに有用です。

    [呼び出し階層] ウィンドウを示すスクリーンショット。

    [呼び出し階層] ウィンドウを示すスクリーンショット。

  • CodeLens

    CodeLens を使用すると、コードの参照、コードの変更、リンクされたバグ、作業項目、コード レビュー、単体テストを、エディターから離れずに楽に見つけることができます。

    CodeLens を示すスクリーンショット。

    CodeLens を示すスクリーンショット。

  • 定義に移動

    [定義に移動] 機能を使用すると、関数または型が定義されている場所に直接移動できます。

    [定義に移動] メニュー項目を示すスクリーンショット。

    [定義に移動] メニュー項目を示すスクリーンショット。

  • 定義をここに表示

    [定義をここに表示] ウィンドウには、別のファイルを開くことなく、メソッドや型の定義が表示されます。

    [定義をここに表示] ウィンドウを示すスクリーンショット。

    [定義をここに表示] ウィンドウを示すスクリーンショット。

  • ホット リロード

    ホット リロードを使用すると、アプリケーションのコード ファイルを編集し、コード変更を実行中のアプリケーションにすぐに適用できます。

    Visual Studio 2022 でのホット リロードのスクリーンショット。

Visual Studio のインストール

このセクションでは、簡単なプロジェクトを作成し、Visual Studio でできることをいくつか試してみます。 コーディング支援として IntelliSense を使用し、アプリの実行中にアプリをデバッグして変数値を確認し、配色テーマを変更します。

まず、Visual Studio をダウンロードしてシステムにインストールします。 モジュール式インストーラーでは、ワークロード (好みのプログラミング言語やプラットフォームで必要な機能のグループ) を選択してインストールできます。 プログラムの作成手順に従う場合は、インストール時に必ず [.NET Core クロスプラットフォームの開発] ワークロードを選択します。

Visual Studio インストーラーの .NET Core クロスプラットフォーム開発ワークロードのスクリーンショット。

まず、Visual Studio をダウンロードしてシステムにインストールします。 モジュール式インストーラーでは、目的のプログラミング言語やプラットフォームに必要な機能のグループである "ワークロード" を選択してインストールします。 次の手順でプログラムを作成するには、インストール時に必ず [.NET デスクトップ開発] ワークロードを選択します。

Visual Studio インストーラーで選択された [.NET デスクトップ開発] ワークロードのスクリーンショット。

Visual Studio を初めて開く際には、まず Microsoft アカウント、仕事用アカウント、または学校用アカウントを使用してサインインできます。

プログラムを作成する

簡単なプログラムを作成しましょう。

  1. Visual Studio を開きます。

    リポジトリを複製する、最近のプロジェクトを開く、または新しいプロジェクトを作成するためのオプションと共に、スタート ウィンドウが表示されます。

  2. [新しいプロジェクトの作成] を選択します。

    Visual Studio 2019 の [新しいプロジェクトの作成] ウィンドウのスクリーンショット。

    [新しいプロジェクトの作成] ウィンドウが開き、いくつかのプロジェクト "テンプレート" が表示されます。 テンプレートには、特定のプロジェクトの種類に必要な基本的なファイルと設定が含まれています。

  3. 必要なテンプレートを検索するには、検索ボックスに「.net core コンソール」と入力します。 使用可能なテンプレートの一覧が、入力したキーワードに基づいて自動的にフィルター処理されます。 [すべての言語] ドロップダウン リストから [C#] を選択し、 [すべてのプラットフォーム] リストから [Windows] を選択し、 [すべてのプロジェクトの種類] リストから [コンソール] を選択することで、テンプレートの結果をさらにフィルター処理できます。

    [コンソール アプリケーション] テンプレートを選択し、 [次へ] をクリックします。

    Visual Studio 2019 の [新しいプロジェクトの作成] ウィンドウのスクリーンショット。ここで必要なテンプレートを選択します。

  4. [新しいプロジェクトの構成] ウィンドウで、 [プロジェクト名] ボックスに「HelloWorld」と入力し、必要に応じてプロジェクト ファイルのディレクトリの場所 (既定の場所は C:\Users\<name>\source\repos) を変更した後、 [次へ] をクリックします。

    Visual Studio 2019 の [新しいプロジェクトの構成] ウィンドウのスクリーンショット。ここでプロジェクトの名前を入力します。

  5. [追加情報] ウィンドウで、 [ターゲット フレームワーク] ドロップダウン メニューに [.NET Core 3.1] が表示されていることを確認し、 [作成] をクリックします。

    Visual Studio 2019 の [追加情報] ウィンドウのスクリーンショット。ここで必要な .NET Core フレームワークのバージョンを選択します。

    Visual Studio によってプロジェクトが作成されます。 これは、コンソール (プログラムの出力) ウィンドウにリテラル文字列 "Hello World!" を表示する Console.WriteLine() メソッドを呼び出す単純な "Hello World" アプリケーションです。

    すぐに次のような画面が表示されます。

    Visual Studio IDE を示すスクリーンショット。

    アプリケーションの C# コードは領域の大部分を占めるエディター ウィンドウに表示されます。 キーワードや型など、コードの異なる部分を示すようにテキストが自動的に色分けされているのに注目してください。 また、コードの縦の小さな点線は互いに一致する括弧を示し、行番号は後でコードの場所を探すのに役立ちます。 小さな四角で囲まれたマイナス記号を選択するとコード ブロックが折りたたまれ、折りたたまれている場合は展開できます。 このコードのアウトライン機能を使用すると、必要のないコードを非表示にして画面を整理できます。 プロジェクト ファイルは右側のソリューション エクスプローラーと呼ばれるウィンドウに一覧表示されます。

    赤いボックスが表示された Visual Studio IDE を示すスクリーンショット。

    他にもメニューやツール ウィンドウが用意されていますが、今は次に進みましょう。

  6. アプリを起動します。 そのためには、メニュー バーの [デバッグ] メニューから [デバッグなしで開始] を選択します。 あるいは、Ctrl+F5 キーを押します。

    [デバッグ] > [デバッグなしで開始] メニュー項目を示すスクリーンショット。

    Visual Studio でアプリがビルドされ、コンソール ウィンドウが開き、メッセージ Hello World! が表示されます。 これで実行中のアプリができました。

  7. コンソール ウィンドウを閉じるには、キーボードで任意のキーを押します。

  8. アプリにさらにコードを追加してみましょう。 Console.WriteLine("Hello World!"); という行の前に次の C# コードを追加します。

    Console.WriteLine("\nWhat is your name?");
    var name = Console.ReadLine();
    

    このコードはコンソール ウィンドウに What is your name? と表示し、ユーザーがテキストを入力して Enter キーを押すまで待機します。

  9. Console.WriteLine("Hello World!"); という行を次のコードに変更します。

    Console.WriteLine($"\nHello {name}!");
    
  10. [デバッグ]>[デバッグなしで開始] の順に選択するか、Ctrl+F5 キーを押してアプリを再び実行します。

    Visual Studio によってアプリが再度ビルドされ、コンソール ウィンドウが開き、名前を入力するように求められます。

  11. コンソール ウィンドウに名前を入力し、Enter キーを押します。

    [デバッグ コンソール] ウィンドウのスクリーンショット。名前のプロンプト、入力、

  12. 任意のキーを押してコンソール ウィンドウを閉じ、プログラムの実行を停止します。

  1. Visual Studio を起動します。 リポジトリを複製する、最近のプロジェクトを開く、または新しいプロジェクトを作成するためのオプションと共に、スタート ウィンドウが表示されます。

  2. [新しいプロジェクトの作成] を選択します。

    [新しいプロジェクトの作成] が選択された Visual Studio スタート メニューのスクリーンショット。

    [新しいプロジェクトの作成] ウィンドウが開き、いくつかのプロジェクト "テンプレート" が表示されます。 テンプレートには、特定のプロジェクトの種類に必要な基本的なファイルと設定が含まれています。

  3. テンプレートを検索するには、検索ボックスにキーワードを入力します。 入力したキーワードに基づいて、使用できるテンプレートの一覧がフィルター処理されます。 [すべての言語] ドロップダウン リストから [C#] を選択し、 [すべてのプラットフォーム] リストから [Windows] を選択し、 [すべてのプロジェクトの種類] リストから [コンソール] を選択することで、テンプレートの結果をさらにフィルター処理できます。

    [コンソール アプリケーション] テンプレートを選択し、 [次へ] を選択します。

    [コンソール アプリケーション] が選択された [新しいプロジェクトの作成] ウィンドウのスクリーンショット。

  4. [新しいプロジェクトの構成] ウィンドウの [プロジェクト名] ボックスに「HelloWorld」と入力します。 必要に応じて、プロジェクト ディレクトリの場所を既定の C:\Users\<name>\source\repos から変更し、[次へ] を選択します。

    プロジェクト名 HelloWorld が入力された [新しいプロジェクトの構成] ウィンドウのスクリーンショット。

  5. [追加情報] ウィンドウで、[ターゲット フレームワーク] ドロップダウン メニューに [.NET 8.0] が表示されていることを確認し、[作成] を選択します。

    [追加情報] ダイアログで、Visual Studio の新しいプロジェクトのターゲット フレームワークとして .NET 8.0 が選択されている様子を示すスクリーンショット。

    Visual Studio によってプロジェクトが作成されます。 このプログラムは、コンソール ウィンドウに文字列 Hello World! を表示する Console.WriteLine() メソッドを呼び出す単純な "Hello World" アプリケーションです。

    プロジェクト ファイルは、Visual Studio IDE の右側にある [ソリューション エクスプローラー] というウィンドウに表示されます。 [ソリューション エクスプローラー] ウィンドウで、Program.cs ファイルを選択します。 アプリの C# コードは領域の大部分を占める中央のエディター ウィンドウに表示されます。

    エディターに Program.cs のコードが表示された Visual Studio IDE を示すスクリーンショット。

    キーワードや型など、さまざまな部分を示すようにコードは自動的に色分けされます。 行番号は、コードの検索に役立ちます。

    コード内の小さな縦の破線は、どの中かっこが対応しているかを示します。 また、小さな四角で囲まれたマイナスまたはプラスの記号を選択して、コード ブロックを折りたたんだり展開したりすることもできます。 このコードのアウトライン機能を使用すると、表示する必要のないコードを非表示にして画面を整理できます。

    赤いボックスが表示された Visual Studio IDE を示すスクリーンショット。

    他にも多くのメニューとツール ウィンドウを使用できます。

  6. アプリを起動するには、Visual Studio の上部のメニューから [デバッグ]>[デバッグなしで開始] を選択します。 あるいは、Ctrl+F5 キーを押します。

    [デバッグ] > [デバッグなしで開始] メニュー項目を示すスクリーンショット。

    Visual Studio でアプリがビルドされ、コンソール ウィンドウが開き、メッセージ "Hello, World! " が表示されます。 これで実行中のアプリができました。

  7. コンソール ウィンドウを閉じるには、任意のキーを押します。

  8. アプリにさらにコードを追加してみましょう。 Console.WriteLine("Hello World!"); という行の前に次の C# コードを追加します。

    Console.WriteLine("\nWhat is your name?");
    var name = Console.ReadLine();
    

    このコードを実行すると、コンソール ウィンドウに "What is your name? " と表示され、ユーザーがテキストを入力するまで待機します。

  9. Console.WriteLine("Hello World!"); という行を次の行に変更します。

    Console.WriteLine($"\nHello {name}!");
    
  10. [デバッグ]>[デバッグなしで開始] の順に選択するか、Ctrl+F5 キーを押してアプリを再び実行します。

    Visual Studio によってアプリが再度ビルドされ、コンソール ウィンドウが開き、名前を入力するように求められます。

  11. コンソール ウィンドウに名前を入力し、Enter キーを押します。

    [デバッグ コンソール] ウィンドウのスクリーンショット。名前のプロンプト、入力、

  12. 任意のキーを押してコンソール ウィンドウを閉じ、プログラムの実行を停止します。

リファクタリングと IntelliSense の使用

リファクタリングIntelliSense がより効率的なコーディングに役立ついくつかの方法を見てみましょう。

まず、name 変数の名前を変更します。

  1. name 変数をダブルクリックし、変数の新しい名前 username を入力します。

    変数の周りに灰色のボックスが表示され、余白に電球が表示されます。

  2. 電球アイコンを選択して、使用可能なクイック アクションを表示します。 ['name' から 'username' へ名前を変更] を選択します。

    Visual Studio の [名前の変更] アクションを示すスクリーンショット。

    Visual Studio の [名前の変更] アクションを示すスクリーンショット。

    プロジェクト全体で変数の名前が変更され、この場合は 2 か所だけです。

  3. 次は IntelliSense を試してみましょう。 Console.WriteLine($"\nHello {username}!"); と書いてある行の下で、「DateTime now = DateTime.」と入力します。

    ボックスに DateTime クラスのメンバーが表示されます。 現在選択されているメンバーの説明も独立したボックスに表示されます。

    Visual Studio の IntelliSense リストのメンバーを示すスクリーンショット。

    Visual Studio の IntelliSense リストのメンバーを示すスクリーンショット。

  4. クラスのプロパティである Now という名前のメンバーをダブルクリックするか Tab キーを押して選択します。次のように行末にセミコロンを追加して、コードの行を完成させます。DateTime now = DateTime.Now;

  5. その行の下に、次のコードを入力します。

    int dayOfYear = now.DayOfYear;
    
    Console.Write("Day of year: ");
    Console.WriteLine(dayOfYear);
    

    ヒント

    Console.WriteConsole.WriteLine と異なり、出力の後に行終端記号は追加されません。 つまり、次に出力に送信されるテキストは、同じ書き出されます。 コードでこれらのメソッドをポイントすると、その説明が表示されます。

  6. 次に、もう一度リファクタリングを使ってコードを少し簡単にします。 行 DateTime now = DateTime.Now; の変数 now を選択します。 その行の余白にドライバー アイコンが表示されます。

  7. ドライバー アイコンを選択すると、Visual Studio から使用できる提案が表示されます。 この場合は、全体的なコードの動作を変更することなくコードの行を削除するインラインの一時変数リファクタリングが表示されます。

    Visual Studio の [インラインの一時変数] の候補を示すスクリーンショット。

    Visual Studio の [インラインの一時変数] の候補を示すスクリーンショット。

  8. [インラインの一時変数] を選択してコードをリファクタリングします。

  9. Ctrl+F5 キーを押してプログラムを再び実行です。 出力は次のようになります。

    [デバッグ コンソール] ウィンドウのスクリーンショット。名前のプロンプト、入力、出力の

    [デバッグ コンソール] ウィンドウのスクリーンショット。名前のプロンプト、入力、出力の

コードのデバッグ

コードを記述するときは、実行してバグの存在を確認するために実際にテストする必要があります。 Visual Studio のデバッグ システムを使用すると、一度に 1 つのステートメントずつ、コードを実行して必要に応じて変数を検査できます。 特定の行でコードの実行を停止する "ブレークポイント" を設定し、コードの実行中に変数値がどのように変化するかを観察することができます。

ブレークポイントを設定して、プログラムが実行中の username 変数の値を見てみましょう。

  1. Console.WriteLine($"\nHello {username}!"); というコード行の左端の余白 (左余白) をクリックしてブレークポイントを設定します。 コード行を選択し、F9 キーを押すこともできます。

    赤い円が左余白に表示され、行が強調表示されます。

    Visual Studio のコード行のブレークポイントを示すスクリーンショット。

    Visual Studio のコード行のブレークポイントを示すスクリーンショット。

  2. [デバッグ]>[デバッグの開始] を選択するか、F5 キーを押して、デバッグを開始します。

  3. コンソール ウィンドウが表示され、名前の入力を求められたら、自分の名前を入力します。

    Visual Studio コード エディターにフォーカスが戻り、ブレークポイントを設定したコード行が黄色で強調表示されます。 黄色の強調表示は、このコード行が次に実行されることを示します。 ブレークポイントにより、この行でアプリの実行が一時停止されます。

  4. username 変数をポイントすると、その値が表示されます。 また、username を右クリックして [ウォッチを追加] を選択し、変数を [ウォッチ] ウィンドウに追加して、そこで値を確認することもできます。

    Visual Studio のデバッグ中の変数値を示すスクリーンショット。

    Visual Studio のデバッグ中の変数値を示すスクリーンショット。

  5. もう一度 F5 キーを押して、アプリの実行を完了します。

アプリが実行されると、[ホット リロード] ボタンをクリックすることで、実行中のアプリにコードの変更を適用できます。

Visual Studio 2022 でのホット リロードのスクリーンショット。

Visual Studio のデバッグの詳細については、デバッガーの機能ツアーに関するページを参照してください。

Visual Studio をカスタマイズする

既定の配色テーマの変更など、Visual Studio ユーザー インターフェイスをカスタマイズできます。 配色テーマを変更するには:

  1. メニュー バーから [ツール]>[オプション] の順に選択して、 [オプション] ダイアログを開きます。

  2. [環境]>[全般] オプションのページで、 [配色テーマ] の選択内容を [濃色] に変更して [OK] を選択します。

    IDE 全体の配色テーマが濃色に変更されます。

    濃色テーマの Visual Studio を示すスクリーンショット。

  1. メニュー バーから [ツール]>[オプション] の順に選択して、 [オプション] ダイアログを開きます。

  2. [環境]>[全般] オプションのページで、[配色テーマ] の選択内容を [青] または [淡色] に変更して [OK] を選択します。

    それに従って IDE 全体の配色テーマが変更されます。 次のスクリーンショットは、青テーマを示しています。

    青テーマの Visual Studio を示すスクリーンショット。

IDE の他のカスタマイズ方法については、「Visual Studio IDE のカスタマイズ」をご覧ください。

環境設定を選択する

C# 開発者に合わせた環境設定を使用するように Visual Studio を構成できます。

  1. メニュー バーで、 [ツール]>[設定のインポートとエクスポート] の順にクリックします。

  2. [設定のインポートとエクスポート] で、[すべての設定をリセット][次へ] の順に選択します。

  3. [現在の設定の保存] ページで、リセットの前に現在の設定を保存するかどうかを選択します。 設定をカスタマイズしていない場合は、 [No, just reset settings, overwriting my current settings](いいえ、設定をリセットして現在の設定を上書きするだけです) を選択します。 [次へ] を選択します。

  4. [設定の既定のコレクションの選択] ページで、 [Visual C#] を選択し、 [完了] を選択します。

  5. [リセットの完了] ページで [閉じる] を選択します。

IDE の他のカスタマイズ方法については、「Visual Studio IDE のカスタマイズ」をご覧ください。

次の手順

以下の入力記事のいずれかに従って、Visual Studio をさらに詳しく調べます。

関連項目