■目次
Visual Studio のインストールC#でウインドウズアプリケーションを作成C#でウインドウズアプリケーション(ガジェット)を作成Cでコマンドラインアプリケーションを作成Visual Studio Code
■Visual Studio のインストール
第1回 Visual Studio 2015って何ができるの?:連載:簡単! Visual Studio 2015入門(1/6 ページ) - @IT https://atmarkit.itmedia.co.jp/ait/articles/1508/07/news031.html 解説通りにC#でウインドウズアプリケーションを作成すると、 C:\Users\refirio\Documents\Visual Studio 2015\Projects\WindowsFormsApplication1\ にプロジェクトが、 C:\Users\refirio\Documents\Visual Studio 2015\Projects\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe に実行ファイルが作成された ※Unityを使う際に Visual Studio 2015 をインストール済みだった 日本語化は行っていなかったので Visual Studio 2015 Language Pack をインストール ■2021/01/03に Visual Studio 2019 で新規に開発環境を作成 https://visualstudio.microsoft.com/ja/downloads/ からVisual Studio 2019の「コミュニティ」をダウンロードした ダウンロードした vs_community__1846245101.1607761859.exe を実行してインストール インストールの際、「.NETデスクトップ開発」を選択した。さらに「C++によるデスクトップ開発」を選択し、右の一覧から「最新のv142ビルドツール用C++MFC」を選択した 初起動後にサインインを行った Visual Studio 2019でMFCアプリのプロジェクトを作成する : MIBC備忘録 http://mibc.blog.fc2.com/blog-entry-186.html ■2016/06/30に Visual Studio 2017 で新規に開発環境を作成 https://www.visualstudio.com/ja/downloads/ からVisual Studio Communityをダウンロードした ダウンロードした vs_community__476664055.1498735138.exe を実行してインストール インストールの際、「.NETデスクトップ開発」を選択した 初起動時は使えるようになるまでとても時間がかかった …と思ったが、サインインのウインドウが後ろ側に表示されていることに気付かなかっただけだった インストール後は以下が参考になりそう 急にWindowsでプログラムを書くことになった人向けのクイックスタートガイド - Qiita https://qiita.com/cafeaulait/items/4f1387796590c633f346
■C#でウインドウズアプリケーションを作成
初期画面で「新しいプロジェクトの作成」をクリック、 もしくはメニューから「ファイル → 新規作成 → プロジェクト」を選択し、 「新しいプロジェクトの作成」画面を開く 「C#」「Windows」「デスクトップ」で絞り込み → 「Windows フォームアプリケーション (.NET Framework)」を選択 以下初期状態のまま「作成」ボタンをクリック プロジェクト名: WindowsFormsApp1 場所: C:\Users\refirio\source\repos ソリューション名: WindowsFormsApp1 フレームワーク: .NET Framework 4.7.2 プロジェクトが作成されるので、しばらく待つ プロジェクトのファイルは以下に作成された C:\Users\refirio\source\repos\WindowsFormsApp1 プロジェクト作成直後は、以下の内容はカラだった C:\Users\refirio\source\repos\WindowsFormsApp1\WindowsFormsApp1\bin\Debug メニューから「ビルド → ソリューションのビルド」を実行すると、上記 Debug フォルダ内にファイルが作成される メニューから「デバッグ → デバッグなしで開始」を実行すると、プログラムが実行される もしくは Debug フォルダ内に作成された、WindowsFormsApp1.exe をダブルクリックで実行することでもプログラムを実行できる この WindowsFormsApp1.exe を他の環境に渡すことで、同じプログラムを実行できる ■プロジェクトの作成場所 2021/09/16に Visual Studio 2019 で試すと、初期状態では C:\Users\refirio\source\repos\WindowsFormsApp1 にプロジェクトが、 C:\Users\refirio\source\repos\WindowsFormsApp1\WindowsFormsApp1\bin\Debug に実行ファイルが作成された 2021/01/03に Visual Studio 2019 で試すと、初期状態では C:\Users\refirio\VisualStudio\WindowsFormsApp1 にプロジェクトが、 C:\Users\refirio\VisualStudio\WindowsFormsApp1\WindowsFormsApp1\bin\Debug に実行ファイルが作成された 2016/06/30に Visual Studio 2017 で試すと、初期状態では C:\Users\refirio\Documents\Visual Studio 2017\Projects\WindowsFormsApp1 にプロジェクトが、 C:\Users\refirio\Documents\Visual Studio 2017\Projects\WindowsFormsApp1\WindowsFormsApp1\bin\Debug に実行ファイルが作成された ■Gitでのソースコード管理 プロジェクトを開くと、画面右下に「ソース管理に追加」が表示されている これをクリックし、さらに表示された「Git」をクリックすると、「Gitリポジトリの作成」ウインドウが表示される リモートリポジトリとしてGitHubのアカウントが表示される 必要に応じて内容を変更して「作成とプッシュ」をクリックすると、GitHubにリポジトリが作成&プログラムがプッシュされる 完了すると、WindowsFormsApp1 フォルダ内に「.git」「.gitattributes」「.gitignore」が作成される WindowsFormsApp1 をSourcetreeなどで開くと、作業履歴も確認できる。初期状態では以下2件の履歴が作成されていた 2021年9月16日 13:47:20 プロジェクト ファイルを追加します。 2021年9月16日 13:47:19 .gitignore および .gitattributes を追加します。 Visual Studio 2019 のGit連携機能でGitHubを使うメモ - zoe log https://zoe6120.com/2020/10/21/1592/ ■プログラムの調整と動作確認 画面左の「ツールボックス」をクリック 「コモンコントロール → ラベル」をフォーム画面にドラッグ&ドロップ ラベルが配置されるので、ドラッグ&ドロップで位置を調整 画面右下の「プロパティ」で「Text」を「ハローワールド!」に変更する これで再度ビルド&実行すると、ウインドウに「ハローワールド!」と表示されていることが確認できる ■デバッグ 以下のようにすればデバッグメッセージを表示できる
System.Diagnostics.Trace.WriteLine("メッセージ");
■C#でウインドウズアプリケーション(ガジェット)を作成
ツールボックスからWebBrowserを配置し、Form1_Load()内で以下を実行する webBrowser1.Navigate("http://refirio.org/"); NotifyIconを配置し、アイコンを設定する クリック時のイベントを設定する…という作業は無しにするか 後述の「タスクバーに表示しない」も参照 【C# WebBrowser】ブラウザを作成する | ITLAB51.COM http://www.itlab51.com/?p=3747 タスクトレイにアイコンを表示する: .NET Tips: C#, VB.NET https://dobon.net/vb/dotnet/control/showtasktrayicon.html イベントを捕捉する: .NET Tips: C#, VB.NET https://dobon.net/vb/dotnet/beginner/eventhandle.html 最小化されたフォームを元(通常か最大化状態)に戻す: .NET Tips: C#, VB.NET http://dobon.net/vb/dotnet/form/restoreminform.html C# - フォームを常に最前面に表示する http://jeanne.wankuma.com/tips/csharp/form/topmost.html C# - フォームをタスクバーに表示しない http://jeanne.wankuma.com/tips/csharp/form/showintaskbar.html ■タスクバーに表示しない 以下のように指定すると表示されないはずだが、環境によってはおかしなフォームが表示される? 気付いていないだけで、Surfaceでも表示されていた?
this.ShowInTaskbar = false;
以下のようにすればガジェット風になるので、タスクトレイを考えずにこの形式にすればいいかも
this.MinimizeBox = false; this.MaximizeBox = false; this.ShowInTaskbar = false;
■ウインドウ位置を保存 「ソリューションエクスプローラー」でプロジェクト名を右クリックして「プロパティ」を選択 「設定」を選択し、一例だが以下のように設定 名前: WindowLocation 種類: System.Drawing.Point スコープ: ユーザー 値: 200, 100 デザインで対象フォームを選択し、プロパティウインドウで「イベント」を選択 「FormClosing」をダブルクリックするとコードが挿入される もとからあるウインドウ読み込み処理とあわせて、以下のようにプログラムを記述する
private void Form1_Load(object sender, EventArgs e) { // ウィンドウ位置を復元する this.Location = Properties.Settings.Default.WindowLocation; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // ウィンドウ位置を保存する Properties.Settings.Default.WindowLocation = this.Location; Properties.Settings.Default.Save(); }
C#: ウィンドウの位置・サイズ・最大化状態を保存する http://qiita.com/nicklegr/items/faefb804697a395b148d 【ワレコのC#】Formアプリ 前回終了時 ウインドウ位置・サイズを記憶復元 https://www.wareko.jp/blog/c-sharp-form-application-save-restore-window-state-position-size C#メモ ×ボタンがクリックされたことを検知してみる http://www.tetsuyanbo.net/tetsuyanblog/23478 ■スタートアップ 以下にショートカットを作成しておく C:\Users\(ユーザ名)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup Tech TIPS:Windows 10で「スタートアップ」にプログラムを登録する http://www.atmarkit.co.jp/ait/articles/1701/18/news029.html 「Windows 10」のスタートアップの場所及びアプリを設定する手順について https://www.japan-secure.com/entry/how_to_set_the_start-up_of_windows_10.html
■Cでコマンドラインアプリケーションを作成
インストーラの vs_community_JPN.exe を実行し、「Modify」を選択し、「Visual C++」にチェックを入れて追加インストールする 「ファイル → 新規作成 → プロジェクト → Visual C++ → Win32 Console Application」
#include <stdio.h> int main() { printf("Hello, world!\n"); return 0; }
■エラー対策 「デバッグ → デバッグなしで開始」で実行できるが、stdafx.h が無いと言われてしまう 「プロジェクト → ◯◯のプロパティ → C/C++ → Precompiled Headers」で「Precompiled Headers」を「Not Using Precompiled Headers」にする sscanfなどを使おうとすると危険だと言われる ソースコードの最初に以下の記述を追加すれば無視できる
#define _CRT_SECURE_NO_WARNINGS 1
■Visual Studio Code
Visual Studio Codeの使い方、基本の「キ」 (1/6):特集:Visual Studio Code早分かりガイド - @IT http://www.atmarkit.co.jp/ait/articles/1507/10/news028.html AtomからVisualStudioCodeに乗り換えた感想と設定メモ - Qiita https://qiita.com/nmatsumoto4/items/c132b2e83df9b6f4c864 Visual Studio Codeの設定「虎の巻」:構文ハイライト/配色テーマ自作編 (1/4):特集:Visual Studio Codeを使いこなそう - @IT http://www.atmarkit.co.jp/ait/articles/1710/20/news023.html Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VScode実践入門》 - エンジニアHub|若手Webエンジニアのキャリアを考える! https://employment.en-japan.com/engineerhub/entry/2019/06/21/103000 僕がおすすめするVSCodeのプラグインまとめ|TAK|note https://note.mu/tak_dcxi/n/n209d230e9ad7 2年半VSCodeを使ってきて意外と知らなかったこと - Speaker Deck https://speakerdeck.com/kuromoka/2nian-ban-vscodewoshi-tutekiteyi-wai-tozhi-ranakatutakoto 過去の自分に教えなければならないVSCodeのショートカット - Qiita https://qiita.com/rana_kualu/items/ea78200036fc80dce0a9 1分でも早く仕事を終わらせるためにVSCodeにできること - Qiita https://qiita.com/EaE/items/4ca1b35396eba682a86f 社内でよく使う VSCode の機能紹介 - Techtouch Developers Blog https://tech.techtouch.jp/entry/vscode 【VSCode】よけいなものを消し去ってコードに集中しよう【ミニマリスト】 | Kurusugawa https://www.kurusugawa.jp/20210512-vscode-wide-area/ tmux っぽく VSCode を操作する https://zenn.dev/ganariya/articles/tmux-like-vscode ■日本語化 以下の拡張機能を導入すれば日本語化できる locale.json の編集が案内されているが、インストールして再起動するだけで適用された また使っている途中に英語に戻ってしまうことがあったが、拡張機能の再インストールで改善された Japanese Language Pack for Visual Studio Code - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja ■拡張機能の利用 メニューの「表示 → 拡張機能」から設定を行える Atom One Dark Theme - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=akamud.vscode-theme-onedark zenkaku - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=mosapride.zenkaku Trailing Spaces - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=shardulm94.trailing-spaces 以下は何故かインストールできなかった(検索しても表示されない) Trailing Whitespace Visualizer - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespaceVisualizer 以下は Visual Studio Code が勧めてきたので入れてみた DotENV - Visual Studio Marketplace https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv ■拡張機能の作成 業務で役に立つVS Code機能拡張を作ってみた話 - LINE ENGINEERING https://engineering.linecorp.com/ja/blog/uit-enhancement-vscode/ ■設定 メニューの「ファイル → ユーザー設定 → 設定」から設定を行える 設定画面の右上に「設定(JSON)を開く」アイコンがあり、そこから以下を入力する(設定内容は一例 / 変更前の内容は、念のためバックアップしておくこと)
{ "workbench.colorTheme": "Atom One Dark", "editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?", "editor.renderWhitespace": "boundary", "editor.renderIndentGuides": false, "editor.tokenColorCustomizations": { "comments": { "foreground": "#888888", "fontStyle": "" } }, "workbench.startupEditor": "newUntitledFile", "window.zoomLevel": 0, "php.validate.executablePath": "C:\\xampp\\php\\php.exe", "editor.guides.indentation": false, "files.autoGuessEncoding": true, "files.associations": { "*.tpl": "html", } }
※「php.validate.executablePath」は「PHP実行可能ファイルが設定されていないため、検証できません」と表示されたため追加したもの あらかじめインストールしていたXAMPPのPHPを指定している XAMPP以外のPHPを指定する場合については、後述の「PHPの文法を自動でチェック」を参照 ※「workbench.startupEditor」と「window.zoomLevel」は、Visual Studio Code が自動で追加した設定かも? ■設定メモ 人気のテーマ 【VSCode】カラーテーマを変更して好きな配色にする方法 [Mac] | WEB屋のメモ帳 https://310nae.com/vscode-theme/ Visual Studio Codeで見やすいテーマファイルのまとめ | コリス https://coliss.com/articles/build-websites/operation/work/best-of-visual-studio-code-themes.html インデントガイドの表示切り替え Visual Studio Code を使う前に最初にやっておきたいこと : OFF-SOFT.net https://www.off-soft.net/ja/software/develop2/visual-studio-code-preuse-settings.html 改行コードを可視化したい(調査中) Visual Studio Code で制御文字が混ざる問題 - kawaken's blog http://kawaken.hateblo.jp/entry/2018/04/02/234339 選択範囲の制御 「$」を選択対象にするか エディタでダブルクリックした時に選択される文字範囲を変える | Cubix http://chibinowa.net/note/web/atom-word-chars.html editor.wordSeparatorsの設定をしてますか - Qiita https://qiita.com/querykuma/items/ad958d87124225b8ec4b 文字コードの自動判定 メニューの「ファイル → ユーザー設定 → 設定」から設定を行える もしくは「"files.autoGuessEncoding": true」の設定を追加する Visual Studio Code で文字化けせずにSJISファイルを開く - はんなりと、ゆるやかに https://iucstscui.hatenablog.com/entry/2021/02/01/221038 VSCodeでShift_JISの自動判定エンコードでの注意 - Qiita https://qiita.com/wagase/items/4ce025b260d1f81dc020 テンプレートファイルでも色分け表示 vscodeで.tpl拡張子をhtmlに関連付ける - Qiita https://qiita.com/bitarx/items/c32806efdfdf1c38795e ■試したい拡張機能 Visual Studio Code で、SQL Serverを便利に扱う - SE(たぶん)の雑感記 https://hiroronn.hatenablog.jp/entry/20170610/1497083007 VSCodeでコードを書く時に役立つ設定・テーマ・機能拡張、知っておくと便利なテクニック | コリス https://coliss.com/articles/build-websites/operation/work/vscode-settings-theme-extensions-tips-for-... VS Code の使い始めに入れておくと便利な拡張機能 10 選 https://zenn.dev/ymasaoka/articles/10-extensions-useful-to-start-using-vscode VSCodeおすすめ設定大公開!!おすすめ拡張機能も - Qiita https://qiita.com/papi_tokei/items/c639dc7d1e0f5ad68a74 ■PHPで関数ジャンプ VSCodeでメソッドジャンプができないのは拡張機能が入ってなかったから https://localhost8888.net/visual-studio-code/567/ VSCodeでPHPの開発を始めた時にやった事 | セミブログ https://semiyama.com/vscode-php/ VSCodeに拡張機能「PHP Intelephense」をインストールしておくと、関数ジャンプができるようになる 関数を選択した状態でF12キーを押すと、その関数の定義場所が表示される ■PHPの文法を自動でチェック VSCodeの設定で以下のようにPHPの場所を指定すると、このPHPにより文法チェックができる
"php.validate.executablePath": "C:\\xampp\\php\\php.exe"
基本的にこれで問題無いが、XAMPPのバージョンに依存しない状態でPHPの文法チェックをする方法をメモ 以下、XAMPPによりPHP7.3が使える環境で、別途PHP8.1をインストールしたときのメモ(VSCodeでの文法確認用) 主に以下のページを参考にした PHPのダウンロードとインストール - Windows10 - PHP入門 - Webkaru https://webkaru.net/php/windows-php-instal/ 以下のページにアクセス PHP: Downloads https://www.php.net/downloads 「Current Stable PHP 8.1.8 → Windows downloads → VS16 x64 Thread Safe → Zip」からZIPファイルをダウンロードする 今回の場合 php-8.1.8-Win32-vs16-x64.zip がダウンロードされたので展開する 展開したものを C:\php81 に配置する(フォルダ名は任意 / この直下に php.exe が存在する状態にする) コマンドプロンプトから以下を入力し、PHPのバージョンが表示されることを確認する C:\php81\php.exe -v PHP 8.1.8 (cli) (built: Jul 5 2022 23:04:29) (ZTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.1.8, Copyright (c) Zend Technologies VSCodeの設定で以下のようにPHPの場所を指定すると、PHP8.1により文法チェックができる
"php.validate.executablePath": "C:\\php81\\php.exe",
■PHPの文法チェックを無効化 PHPプログラミングも快適に! VS Codeの二大拡張機能 (1/3):Visual Studio Code+PHPの可能性を探る - @IT https://www.atmarkit.co.jp/ait/articles/1809/11/news028.html 手元の環境がPHP5だがPHP7で一時的にプログラムを書く必要がある…という場合など PHPの文法チェックを無効にしたい場合、メニューの「ファイル → 基本設定 → 設定」から設定を行う 以下のように php.validate.enable を false にすると無効になる
"php.validate.enable": false,
■SASSやTypeScriptの編集 特に何も設定しなくても、正しく色分けなどが行われた タブのアイコンなども、SASSやTypeScriptで専用のものになった ■SASSやTypeScriptのコンパイル VS CodeでScssを書くための環境構築方法 | Web Design Trends https://webdesign-trends.net/entry/9295 「Live Sass Compiler」をインストールし、 SCSSファイルを開くと下のバーに表示される「Watch Sass」ボタンを押すと、 ファイルを編集するたびにコンパイルが行われる コードフォーマットの設定については要確認 TypeScriptや画像最適化も対応できるかは要確認 GulpをVSC内のコマンドラインで実行する方法も検討するか ■ターミナルを起動 メニューの「ターミナル → 新しいターミナル」から、ターミナルを開くことができる Gulpの実行など、ここから行うことができる ■設定の同期 Visual Studio Code公式の設定同期「Settings Sync」を利用する - Qiita https://qiita.com/Nuits/items/6204a6b0576b7a4e37ea Ver 1.48 で公式の設定同期機能が実装された 以下、機能を有効にしたときのメモ Visual Studio Code を最新にしておく 左下の歯車アイコンをクリックし、「設定の同期をオンにする」を選択 現在はプレビュー版である確認が表示されるが「オンにする」を選択 「設定の同期」画面が表示されたら、同期する設定を選択して「サインインしてオンにする」を選択する(今回はすべて同期させる) 同期に使用するアカウントの種類を選択する(今回はGitHubを選択する) ブラウザが起動するので「Continue → Authorize github」とクリック ブラウザがVisual Studio Codeの起動を確認してくるので開く 拡張機能がURLを開くことを確認してくるので開く 完了すると「設定の同期がオンになりました」と表示される。これで同期の設定が実施される Visual Studio Codeを再起動しておく なお新しい環境に Visual Studio Code をインストールする場合、初回起動直後に上記の同期設定を行えばいい (ただし同期させるまでは、メニュー表記は英語の状態で操作することになる)