目次
Visual Studio
Tips
エラー箇所へ飛ぶ Ctrl + Shift + F12
VisualStudio 便利なショートカット
スクロールバーにコードマップを表示する
- 「ツール>オプション」を選択する
- 「テキストエディター>すべての言語>スクロールバー」を選択する
- 「垂直スクロールバーでのマップモードの使用」をオンにする
- 「OK」を選択する
タブとスペースの表示
Visual Studio メニューの「編集>詳細>スペースの表示」を選択する。
【Visual Studio】空白(スペース)やタブを表示する方法
タブをスペースに変換する
- タブの部分を選択し、編集→詳細→選択行のタブの設定を解除 を選択する。
- 空白からタブに変換した場合は、編集→詳細→選択行にタブを設定 を選択する。
管理者権限で常に開くようにする
Windows 7
- ショートカットの「互換性」タブをクリックします。
- 特権レベルの「管理者としてこのプログラムを実行する」にチェックを付ける。
- グレーアウトされている場合、Windows 10と同様にする。
Windows 10
- ショートカットのプロパティのショートカットタブより『詳細設定』をクリックします。
- 詳細プロパティより『管理者として実行』にチェックを付け『OK』をクリックします。
拡張機能
Indent Guides インデント位置に破線
【Visual Studio】インデント位置に破線を表示する拡張機能「Indent Guides」
C# outline 折りたたみ
【Visual Studio】if文やfor文でもアウトラインを有効にする拡張機能「C# outline 2015」
Trailing Whitespace Visualizer コード内の不要な空白を強調表示
【Visual Studio】コード内の不要な空白を強調表示する拡張機能「Trailing Whitespace Visualizer」
Web 開発のための Visual Studio 拡張機能をまとめたもの 2015版と2017版がある
Visual Studio 拡張機能、Web Extension Pack リスト
Web Extension Pack 2017 から Web Essentials 2017 へ
中括弧の位置や空行削除や不要なusingなど
Code整形でちょっと役立つCodeMaidの利用方法
TODOコメント
コーディングしている際に、後で処理を追加しておくメモ用にTO-DOを作成する。
書き方
ポイントは、「//」と「TODO」の間に半角スペースを入れることです。
// TODO: taskA
タスク一覧表示
Visual Studioの「表示」>「タスク一覧」から確認できます。
参照
画面解像度
フォームの文字サイズなどが大きく表示されてしまう場合、高DPIが原因
Visual Studio 2015のショートカットの互換性タブに設定にある「高DPI設定では画面のスケーリングを無効にする」にチェックを付ける。
Visual Studioで外部ソースを含めたデバッグを実行したい
Visual Studioの保存ボタンで「オブジェクト参照がオブジェクトインスタンスに設定されていません」のエラー
現象
Visual Studio 2022でプロジェクトを開いてソースコードを編集して保存しようとすると「オブジェクト参照がオブジェクトインスタンスに設定されていません」のエラーになり保存ができない。保存させるには編集したファイルのタブを閉じることで保存させている。
対応
- Visual Studio 2022を閉じる
- C:\Users{ユーザー名}\AppData\Local\Microsoft\VisualStudio\ フォルダを開きます
- 17.0_9cac6ada フォルダの名前を変更する
- Visual Studio 2022を起動します。
ビルド後に不要なフォルダを削除
Microsoft.Data.SqlClient に切り替えてから、言語コードのフォルダー出力されるようになった。
これらのリソースファイルのほとんどが例外メッセージをローカライズするために使用されていることですが、使用中のプロジェクトとしては不要なため、削除したい。
https://github.com/dotnet/SqlClient/issues/1368
上記サイトのようにプロジェクトの.csprojファイルにAfterBuildの方法にしたかったが、Visual Studio 2022上から追加して実行しても何も削除されなかった(調査が必要)
AfterBuildの方法は中止、プロジェクトのプロパティにある「ビルド後のイベント」を使用することにした。
「ビルド後のイベント」のところに「call RemoveDir.bat $(OutDir)」をセット
対象ファイルが存在する言語フォルダのみを削除する「RemoveDir.bat」を、プロジェクトの.csprojファイルと同じフォルダに格納する。
- RemoveDir.bat
@echo off setlocal enabledelayedexpansion set TRUE_FALSE=FALSE for /d %%f in ("%1%\*") do ( if exist "%%f\Microsoft.Data.SqlClient.resources.dll" set TRUE_FALSE=TRUE if exist "%%f\Microsoft.TestPlatform.CoreUtilities.resources.dll" set TRUE_FALSE=TRUE if !TRUE_FALSE!==TRUE ( echo Deleting folder: %%f rmdir /s /q "%%f" ) ) endlocal
※発行(publish)した場合、結局言語フォルダが出来てしまう。
テストプロジェクトの場合「Microsoft.Data.SqlClient.dll」を指定しても、csとplとtrフォルダはファイル未存在で残ってしまったため、「Microsoft.TestPlatform.CoreUtilities.resources.dll」に切り替えた。