コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】NativeArray の for を簡単に実装できるようにする Rider の Source Template

ソースコード using JetBrains.Annotations; using Unity.Collections; public static class SourceTemplates { [SourceTemplate] [Macro( Target = "index" )] [Macro( Target = "value" )] public static void @for<T>( this NativeArray<T> self ) where T : st</t></t>…

【Rider】switch 式を縦に揃えたい場合

概要 「エディター > コードスタイル > C#」で「Switch expressions」をオンにすると switch 式を縦に揃えられるようになる

【Unity】ReSharper のキーワードハイライトが正常に動作していない場合

概要 Visual Studio を閉じた状態で Unity プロジェクトのフォルダに存在する .vs フォルダ すべての .csproj ファイル .sln ファイル を削除してから Unity から Visual Studio を開くと キーワードハイライトが正常に動作するようになる

【ReSharper】編集したファイルの保存時に自動で Code Cleanup する方法

概要 Visual Studio メニューの「拡張機能 > ReSharper > Options...」を選択して 左メニューの「Code Editing > Code Cleanup > General」を選択して 「Automatically run cleanup when saving a file~」をオンにすることで ファイル保存時に自動で Code Cl…

【ReSharper】特定の範囲でコードフォーマットを無効化する方法

概要 例えば Dictionary の初期化構文をコードフォーマットしたくない場合は using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { // @formatter:off private static readonly Dictionary<int, string> m_table = new Dictiona</int,>…

【ReSharper】クラスや関数の Full Name をコピーする方法

概要 Visual Studio メニューの「RESHARPER > Edit > Copy Fully-qualified name/Source browser URI to Clipboard」を選択して コピーしたい書式を選択することで、クラスや関数の Full Bane をコピーできます 参考サイト様

【ReSharper】Alt + Delete で関数を安全に削除

概要 削除したい関数を選択した状態で Alt + Delete を押して 確認ダイアログで「Next > 」を2回押すと、 その関数が呼び出されている箇所も含めて安全に削除できる

【ReSharper】特定のコードで命名規則を無視する方法

目次 目次 特定のフィールドで命名規則を無視 特定のファイルで命名規則を無視 特定の範囲で命名規則を無視 特定のフィールドで命名規則を無視(属性版) 特定のクラスで命名規則を無視(属性版) 特定のファイルですべてのルールを無視する 補足 特定のフィ…

【ReSharper】簡単にコードを名前空間で囲む方法

概要 コードを選択した状態で namespace を入力すると 選択中のコードが名前空間で囲まれた状態になる

【ReSharper】MonoBehaviour を作成する File Template(自分用)

概要 上記の File Template から MonoBehaviour を作成すると using UnityEngine; namespace DefaultNamespace { [DisallowMultipleComponent] internal sealed class MyMonoBehaviour1 : MonoBehaviour { } } このようなクラスを作成できる

【ReSharper】Attribute が適用された変数の定義が長い時に改行する方法

概要 ReSharper メニューの「Code Editing > C# > Formatting Style > Line Breaks and Wrapping」の 「Arrangement of Attribtues」の 「Place attribute section list on separate line if it is longer than」に 1行における文字数を入力する その文字数…

【ReSharper】Code Cleanup する時に .asmdef は対象外にする方法

概要 ReSharper メニューの「Code Inspection > Generated Code」を選択して 「Generated file masks」の「Add」を押して *.asmdef と入力して「Save」を押す

【ReSharper】2020.2 新機能 - ファイル保存時に自動で Code Cleanup できるようになった

概要 ReSharper の Options の「Code Editing > Code Cleanup > General」から 「Automatically run cleanup when saving a file (not supported for shared/ linked files」 をオンにすると、ファイル保存時に自動で Code Cleanup されるようになります 参…

【ReSharper】配列の for 文を簡単に記述できる Live Template

使い方 itar と記述することで、配列の for 文を簡単に記述できます

【ReSharper】Dictionary.TryGetValue の if 文を簡単に記述できる Source Template

ソースコード using JetBrains.Annotations; using System.Collections.Generic; public static class SourceTemplates { [SourceTemplate] [Macro( Target = "key" )] [Macro( Target = "value" )] public static void tryGetValue<TKey, TValue>( this Dictionary<TKey, TValue> self )</tkey,></tkey,>…

【ReSharper】static コンストラクタを簡単に記述できる ReSharper の Live Template

ソースコード 使用例

【Unity】TryGetComponent の if 文を簡単に記述できる ReSharper の Live Template

ソースコード 使用例

【ReSharper】暗黙的に使用されていることを示す「UsedImplicitly」属性

概要 using JetBrains.Annotations; [UsedImplicitly] public class Example { } UsedImplicitly 属性が適用すると、そのシンボルが リフレクションなどで暗黙的に使用されていることを示すことができます

【Unity】string.Format を ZString.Format に置換する ReSharper の Quick-Fixes を作成する

概要 ReSharper と ZString を導入しているプロジェクトで ZString.Format ではなく string.Format を使用している箇所があれば 警告線を表示する Quick-Fixes で ZString.Format に置換できるようにする ということを行いたい場合は、 ReSharper のオプショ…

【ReSharper】個人ライセンスを業務利用しても良いかどうか

概要 個人ライセンスについて補足すると、 こちらにあるように個人ライセンスであっても業務利用は可能です。 したがって、「プロとして自分が使うツールは自腹を切って準備する」や 「諸般の事情から会社ではJetBrainsのライセンスを買ってもらえないので …

【ReSharper】ラムダ式を関数グループに変更する Inspection を無効化する方法

概要 ReSharper のオプションの「Code Inspection > Inspection Severity」から 「Convert lambda expression to method group」をオフにすることで ラムダ式を関数グループに変更する Inspection を無効化できます

【ReSharper】Live Template を使用してコーディングを早くする方法

はじめに 例えば、itar と入力して Enter を押すと配列の for 文が自動で記述されます そして、インデックスや参照する配列、for 文の中に定義する変数の名前を Enter キーを押すことで順番に入力できるため、 自分で for 文を記述するよりも効率よくコーデ…

【ReSharper】Visual Studio の「フォントおよび色」で ReSharper の項目を変更しても反映されない場合

概要 Visual Studio メニューの「RESHARPER > Options」から 「Code Inspection > Settings」の「Highlighting」の「Color Identifiers」をオンにすると 反映されるようになる 参考サイト様

【ReSharper】Ctrl + Shift + T でファイル検索ができる

概要 Ctrl + Shift + T を押すことでファイル検索ができる

【ReSharper】Ctrl + T でどこでも検索ができる

概要 Ctrl + T を押して検索したい文字列を入力することで、 ファイルやクラス、関数などの検索できる

【ReSharper】コンテキストアクションをファイル単位やフォルダ単位で適用する方法

概要 Ctrl + . などを押してコンテキストアクションを実行する際に ファイル単位やフォルダ単位で適用するかどうかを選択できる 関数呼び出しの単位 関数単位 ファイル単位 フォルダ単位 プロジェクト単位 ソリューション単位

【ReSharper】フォルダ単位でクリーンナップする方法

概要 Visual Studio のソリューション エクスプローラーでフォルダを右クリックして 「Cleanup Code」を選択することで、そのフォルダ内のファイル全てに対して クリーンナップを適用することができる

【ReSharper】Reformat Code 時にステートメント形式のラムダを一行にまとめない方法

概要 上記のように Reformat Code 時にステートメント形式のラムダが 一行にまとめられるのをやめたい場合は 「Place simple anonymous method on single line」をオフにする

【Rider】「Save > This computer」で保存した設定ファイル(GlobalSettingsStorage.DotSettings)の保存場所

概要 C:\Users\【ユーザー名】\.RiderXXXX.X\config\resharper-host 参考サイト様

【ReSharper】「Save To > This computer」で保存した設定ファイル(GlobalSettingsStorage.DotSettings)の保存場所

概要 C:\Users\【ユーザー名】\AppData\Roaming\JetBrains\Shared\vAny 参考サイト様