■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 をインストールする場合、初回起動直後に上記の同期設定を行えばいい
(ただし同期させるまでは、メニュー表記は英語の状態で操作することになる)