キューブ日報

キューブキューブが書きそぼる日報。

お手軽Windowsアプリ開発(環境構築編)

皆さん!Windowsアプリ開発したいですよね。

 

Windowsでアプリを作るといえばまあ普通はVisual Studio(以下VS)ですね。今だとVS2019ですか。
ただ、重いIDEは要らんからコーディングはその辺のエディタでやって、VSはコンパイル等だけやってくれたらいいなって人は多いと思います。起動するだけで重いという。
2021年2月現在、MSが無料で配り散らしているVisual Studio Code(以下VSCodeBuild Tools for Visual Studio 2019(以下BuildTools)の組み合わせでそれは可能となります。

 

※注意すべき点として、BuildToolsのライセンスを見るに「Visual Studio Community、Visual Studio Professional、Visual Studio Enterprise と共に使用する」とありますので、そこだけご留意ください。

 

出来ること(私が試した範囲で)

  • WPFアプリ(.NET 5版)の開発・デバッグ
    開発は一番楽チンかと思います。あと.NET 5の利点としてReadyToRun(起動を速くする技術)があります。
    ただ、これで作ったアプリを動かすには.NET 5 ランタイムが必要になります。
    WPFじゃなくてWinFormsでもいいけど流石に古臭いかなあ。
    UWPアプリはWindowsの設定変えないと起動すら出来ない&ストアでしか配布出来ないので個人的にはお断り。

     

  • WPFアプリ(.NET Framework 4.7版)の開発・デバッグ
    何で4.7かというと、Creators Update(2017年春)以降のWindows 10には標準でランタイムが入ってるから。つまりこれで作ったアプリは多くの人にそのまま使っていただける。
    ただし、初回起動時にコンパイル処理が入ってしまうので、場合によっては起動してウインドウが出るまでに恐ろしく時間がかかることがあります。

     

  • ネイティブアプリ(C++による)の開発・デバッグやDLL等開発
    たまーにWPFC#)オンリーでは出来ないことがあるので、その部分はC++で書いてDLLにしてWPFから呼び出す方式用。
    もちろん猛者の方はこれメインでWinAPIゴリゴリ書いて超軽量アプリこしらえるのもアリですよね!

 

要るもの

 

環境構築手順

  1. 必要物資のダウンロード
    https://visualstudio.microsoft.com/ja/downloads/ で全部入手出来ます。
    VSCodeは割と分かりやすいと思いますがBuildToolsは分かりにくいですね。
    まずページの下の方にスクロールしていくと「> Visual Studio 2019 のツール」というところがあり、そこをクリックすると展開するので、またちょっと下に行くと「Build Tools for Visual Studio 2019」があります。

     

  2. BuildToolsのインストール
    インストーラーを起動し、指示に従って進めていくと、大まかなカテゴリにチェックをしていく画面(「ワークロード」タブ)になると思いますが、とりあえず無視して上の方の「個別のコンポーネント」タブをクリック、下記の画面にします。
    f:id:cubeundcube:20210213201843p:plain
    ここで必要なものにチェックを付けていくわけですが、私は下記の物をチョイスしました。

     

    【.NET】

    • .NET 5.0 ランタイム
    • .NET Core 3.1 ランタイム (LTS) … これ外すと.NET SDKも外れてしまうので仕方無く
    • .NET Framework 4.7 Targeting Pack … 作りたいFrameworkのバージョンのTargeting Packにチェック
    • .NET SDKWPF開発はこれがキモ

     

    SDK、ライブラリ、およびフレームワーク

    • Windows 10 SDK (10.0.19041.0) … ネイティブ開発のキモ?.NETにどれだけ関係しているかは謎
    • Windows ユニバーサル CRT … Cランタイム

     

    【コード ツール】

    • NuGet のターゲットおよびビルド タスク … NuGetのパッケージマネージャーはVSCodeの方に拡張機能があるのでここでは多分不要。
    • テキスト テンプレート変換 … 要るかどうか分からなかったが、一応入れてみた

     

    コンパイラ、ビルド ツール、およびランタイム】

    • C++ 2019 再頒布可能パッケージの更新プログラム
    • MSVC v142 - VS 2019 C++ x64/x86 ビルド ツール (v14.28) … ネイティブ開発のもう一つのキモ

     

    【開発作業】

    • C++ Build Tools コア機能
    • C++ コア機能

     

    なお、ここでチェックをミスってインストールを始めてしまったとしても、またインストーラー起動すればやり直しは出来るので心配は要りません。
    f:id:cubeundcube:20210213202332p:plain
    念のため「言語パック」タブも見て、日本語にチェックが付いてるか確認します。
    最後に、「インストール」ボタンをクリックし、インストールが終了するまで待ちましょう。サイズ的にはSDKがダントツでデカいと思います。

     

  3. VSCodeのインストール
    VSCodeのインストールは基本指示に従って進めるだけですが、途中、出来れば設定しておきたい箇所があります。
    f:id:cubeundcube:20210213203129p:plain
    上記の場面で「エクスプローラーの~アクションを追加する」というチェックが2か所ありますが、これは2つともチェックを付けておいた方が便利だと思います。

     

  4. VSCodeの初期設定
    始めてVSCodeを起動すると、メニューとか全部英語の状態になっていますので、とりあえず日本語の環境にします。
    f:id:cubeundcube:20210213211237p:plain
    左の方に縦に並んでるアイコンの一番下のやつ、積み木みたいなのが拡張機能になります。ここをクリックして、検索欄に「japanese」と入れると、「Japanese Language Pack for~」が出てくると思いますので、小さくて押しづらいですが「Install」ボタンをクリックしてください。
    f:id:cubeundcube:20210213211919p:plain
    インストールが終わるとこのように再起動を促されるので、再起動すると日本語化された状態で起動することでしょう。
    f:id:cubeundcube:20210213212047p:plain

    同様に拡張機能で、「C#」「C/C++」の拡張機能も入れてしまいましょう。
    f:id:cubeundcube:20210213212317p:plain
    f:id:cubeundcube:20210213212324p:plain
    そのまんまの名前のビリヤードの玉みたいなアイコンの拡張機能になります。

    あとはエディタの設定ですが、メニューの「ファイル」→「ユーザー設定」→「設定」と進むと設定画面になります。
    f:id:cubeundcube:20210213214614p:plain
    ここでフォントやらいろいろ設定出来るのですが、ひとつ重要な設定、ファイルの種類ごとのエンコード設定がありまして、そちらを先に説明します。この画面では何故か設定出来ません。f:id:cubeundcube:20210213215154p:plain
    ここで設定画面右上の、書類にくるりと矢印が付いたようなアイコンをクリックすると…。
    f:id:cubeundcube:20210213215603p:plain
    このように、「settings.json」というVSCodeの設定ファイルを直接編集出来る画面に切り替わります。私はある程度設定してしまっているので上記画像のような感じですが、この時点で設定を全くいじってないとしたら、おそらく最初と最後の中括弧のみがある状態だと思います。そこに下記のようにコードを追加して、「settings.json」を保存してください。(最初と最後の中括弧の間に挿入)
    {
        (すでに設定があれば、その直下に下記を追加)
        "[cpp]": {
            "files.encoding": "utf8bom",
        },
        "[csharp]": {
            "files.encoding": "utf8bom",
        },
        "[plaintext]": {
            "files.encoding": "shiftjis",
        },
    }

    VSCodeのデフォルトのエンコーディングはBOM無しUTF-8なのですが、VSのコンパイラはBOM無しUTF-8で書いたコードに日本語を入れた場合に盛大に文字化けします。ですのでcppやcsharpのファイルは標準でBOM有りUTF-8になるようにします。
    あとplaintext(.txt)のところはオマケです。WindowsだとシフトJISが良いかなと思って上記のようにしていますが、最近はそうでもないパターンもあるようですので、好みで変更するなり削除するなりしてください。

     

    その他の設定はお好みで良いと思います。私は配色テーマを「Visual Studio Dark」、フォントサイズを16くらいにして、右端での折り返しオンでやってます。「ファイル」→「ユーザー設定」→「配色テーマ」やら「ファイル」→「ユーザー設定」→「設定」の中で、「テキスト エディター」の中の「フォント」あたりをいじってください。(手抜き説明)

 

ターゲット毎の設定

この先は、.NET 5か.Framework 4.7かネイティブ開発かによって変わってくるので、別記事で説明したいと思います。

 

【関連記事】