機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

【VS2022】Visual Studio 2022 メモ【C++】

はじめに

Visual Studio 2022 で開発する際のメモを残しておきます。
基本的なこともかなり多いです。

ソリューションとは

Visual Studio 2022(VS2022)における「ソリューション」は、複数のプロジェクトをまとめて管理するためのコンテナのような役割を果たします。
以下の画像は 1 つの Solution が 1 つの Project を持つ例です。

メニュー全般のフォントサイズを変更する


以下の画像は、メイリオ 12 px に変更したものです。

Visual Studio でフォント、色、テーマを変更する

ウォッチのフォントサイズを変更する

以下のように、ローカルの表のフォントサイズが小さいです。

オプションでフォントサイズを変更して、再起動します。


以下のように、ローカルの表のフォントサイズが大きくなりました。

Output の Font Size を変更する

「ウォッチのフォントサイズを変更する」と同じですが一応貼っておきます。

ウィンドウの再表示

ソリューションエクスプローラを閉じてしまったら、表示 > ソリューションエクスプローラから再度開くことができる。

行番号表示

オプションで「行番号」と検索し、以下のように設定する。

すると、以下のようにテキストエディターに行番号が表示される。

VS2022を英語化するには

私のやつは日本語でインストールしていました。
英語化するにはVisual Studio Installer で言語パッケージをインストールする必要があります。
貼り付けた画像は、これはインストール済みなので閉じるになっています。インストールがまだの場合は更新するになっているはずです。

オプション > 環境 > 国際対応の設定 で言語を English にして、VS2022 を再起動します。


以下のように英語になりました。

テキストエディタの左側の余白を狭くする


以下のように Selection margin を False にすると少し狭くなる。

でもまだ広い。これ以上狭くできなかった。
できた人はコメントください。C# ならできるみたいだけど、C++ の場合はできないのかな?

テーマの変更

Options > Enviroment > General > Visual Experience > Color Theme を Dark にするとかっこいい。


Class Wizard

Project > Class Wizard から Class の追加ができるが MFC の Class を継承しなくてはならない。

Class Wizard で作成した .cpp, .h を削除するには Solution Explorer から削除すればよい。

Character Set

Solution ExplorerRMB(Right Mouse Button) し、Properties を開く。

Configuration Properties > Advanced > Character Set で設定可能。迷ったら Unicode にしておくとよいと思う。

メニューの右にある Search から起動できます。

Code Search は コードから特定の文字列を検索するときに便利です。
検索結果とコードが表示されるので従来の検索より見やすいです。またコードの編集もできます。
Feature Search は VS2022 から機能を探すときに便利です。

Recouce View が Opened in another editor の状態からなるべく早く復帰する方法

Resource.h, .rc などのリソースファイルをテキストエディタなどで開いている場合、以下のようにResource view で閲覧できません。

他のエディタを閉じたとしても Resource View は再読み込みしません。
「Resource View を閉じて sokution view から .rc をダブルクリックする。」これが多分一番早く Resource View を見る方法です。

OutputDebugString がデバッグ用の出力として見やすい

OutputDebugString 自体は 文字列しか受け取れないため、%d のようなフォーマット指定子は直接使えません。
が、プログラムの力で層にでもなります。

#include <windows.h>
#include <tchar.h>
#include <stdarg.h>

// ANSI / Unicode 両対応
template<typename CharT>
void out(const CharT* fmt, ...)
{
	CharT buffer[1024];

	va_list args;
	va_start(args, fmt);

	if constexpr (std::is_same_v<CharT, wchar_t>) {
		_vsnwprintf_s(buffer, _countof(buffer), _TRUNCATE, fmt, args);
		if (wcslen(buffer) == 0 || buffer[wcslen(buffer) - 1] != L'\n') {
			wcscat_s(buffer, _countof(buffer), L"\n");
		}
		OutputDebugStringW(buffer);
	}
	else {
		_vsnprintf_s(buffer, _countof(buffer), _TRUNCATE, fmt, args);
		if (strlen(buffer) == 0 || buffer[strlen(buffer) - 1] != '\n') {
			strcat_s(buffer, _countof(buffer), "\n");
		}
		OutputDebugStringA(buffer);
	}

	va_end(args);
}

呼び出し方は以下です。
_T(""),L"",""なんでもいけます。

out("Control ID: %d %s", 5, "test");
out(L"Control ID: %d %s", 5, L"test");
out(_T("Control ID: %d %s"), 5, _T("test"));

ソリューションエクスプローラから特定のファイルを別のアプリで開く方法

.md を VSCode で開く方法です。
右クリックして Open With を押下し、VSCode を選んで Set as Default を押下するだけです。
次からソリューションエクスプローラから.mdをダブルクリックするだけで VSCode で開きます。

GitHubリポジトリを作る方法

Solutionを作った後に Git > Create Git Repositpry を押下後 Create and Push ボタンを押下します。

ちなみに Solution A を作成後 Git Repository を作っている Solution B のプロジェクトを Solution A に追加すると、Create Git Repository は表示されません。この時は Solution A からそのプロジェクトを一旦削除して、 Repository をつくって再度追加すればいけます。

GitHub にコミットする方法

ソースを変更した後、View > Git Change を開いてコミットログを書いて Commit All and Push します。

Copilot のコードの補完をやめる

Editor CompletionsのチェックをFalseにしたらでなくなりました。

ソースのタブを複数行にする

VS2022 のバグかな?時々この設定が勝手に戻る。
Tools > Options > Enviroment > Tabs and Windows > Document Tabs > Show tabs in multiple rows にチェックを入れる。

目次へ戻る