Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Mac + Visual Studio での開発。IDEのちからを借りることで開発効率を上げる

More than 3 years have passed since last update.

Visual Studio Codeではありません。あしからず。

IDE便利ですよね。
静的型付け言語だと、特に力を発揮してくれる気がしています。

簡単なプログラムを作りつつ、IDEの使い方を説明します。

環境

  • OS X EI Capitan 10.11.6
  • Visual Studio Community for Mac 7.3.4

できるようになること

  • IDEを使って、からのクラスやメソッドを素早くつくる
  • 名前の変更を素早く行う
  • 実行する

手順

やること

簡単な数値計算プログラムの作成を通して、IDEの使い方をみてみます。

やってみよう① ファイルを作成してみる

既にプロジェクトは作成済みだとします。まずは、コードを書いてみます。

Program.cs
using System;
using System.Runtime.InteropServices;

namespace HelloWorld
{
    static class Program
    {
        static void Main()
        {
            var a = 1;
            var b = 1;

            MyMath.add(a, b);
        }
    }
}

この時点では、MyMathクラスも、addメソッドも存在しないので赤線で警告がでます。

スクリーンショット 2017-12-20 23.35.30.png

ここで、赤線のところにカーソルを当てて、クラスを作成します。
右クリックで選択していってもよいのですが、ショートカットもあります。
macの場合は、option + enter。

スクリーンショット 2017-12-20 23.27.19.png

すると勝手にファイル(空のクラスを作成してくれます)。スコープがinternalなのが個人的にはいまいちかな、と思ってます。

MyMath.cs
namespace HelloWorld
{
    internal class MyMath
    {
    }
}

Program.csに戻ります。今度はメソッドがないのでメソッドが赤線になっています。

スクリーンショット 2017-12-20 23.39.30.png

また同じようにメソッドを作成してみます。

スクリーンショット 2017-12-20 23.41.26.png

MyMath.cs
using System;

namespace HelloWorld
{
    internal class MyMath
    {
        internal static void add(int a, int b)
        {
            throw new NotImplementedException();
        }
    }
}

勝手にメソッドの雛形作成されました。後は中身を作っていくだけです。
ちなみに今回の例は、返り値を指定しなかったのでvoidで作られました。

こんな感じに返り値をIDEにわかるように作成すると、もっと簡単にメソッドを作れます。

やってみよう② 返り値もわかるように

このようにファイルを変更します。
```csharp:Program.cs
using System;
using System.Runtime.InteropServices;

namespace HelloWorld
{
static class Program
{
static void Main()
{
var a = 1;
var b = 1;

        MyMath.add(a, b);

        int ans = MyMath.sub(10, 9);
    }
}

}
```

subの返り値がわかるようにint ansで結果を受け取るようにしました。
エラー部分を選んで、option + enter、メソッドを作ってみましょう。

作ったら、command + d でメソッドに飛びます。細かいことですが、こういった操作で効率化できますね。

MyMath.cs
using System;

namespace HelloWorld
{
    internal class MyMath
    {
        public static void add(int a, int b)
        {
            throw new NotImplementedException();
        }

        // 返り値intできちんとつくられた!
        internal static int sub(int v1, int v2)
        {
            throw new NotImplementedException();
        }
    }
}

やってみよう③ 名前を変えてみよう

MyMathというクラス名がイケてないので、Calculatorという名前に変えてみましょう。

MyMath.add の MyMathの部分を選択して、command + r でリネームできます。ファイル名も一発で変わります!

やってみよう④ ビルド・実行

ビルドは、command + b
実行は、command + enter

で行います。

おわりに

C#のパッケージマネージャであるNuGetとか使うともっと便利になりますね。
こういった操作になれると、テスト駆動開発がしやすくなります。

テストファイルを起点として、例えば

  • 空のクラスを作成→テスト実行→赤→メソッド作る→赤→メソッド記述する→緑

といった流れをテンポよく行えます。

以前はWindows環境で開発していたので、ショートカットが色々と違ってとまどいました 。VisualStudioいいですよね。

では、良いC#ライフを!!!

参考文献

TanakanoAnchan
ベンチャーでITエンジニアをしています。 メインはWebエンジニア、たまにアプリエンジニア。 - フロントエンド - サーバーサイド - インフラ 昔使っていたVisual Studioの良さが忘れられない(VSCodeの方じゃない)。 C# .NETとPythonが好き。
eversense
家族を幸せにすることで、笑顔溢れる社会をつくる。
https://eversense.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away