コガネブログ

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

2019-09-09から1日間の記事一覧

【Rider】Unity の MonoBehaviour を継承したクラスがどのシーンやプレハブで使用されているか検索できる

概要 MonoBehaviour を継承したクラスを右クリックして「Find Unity Usages」を押すと どのシーンやプレハブで使用されているかを Rider 上で確認できます Unity 上にも結果が表示されるため、Unity からも確認できます クラス名の上に表示されている「XXXX …

【Rider】Unity で関数をどのゲームオブジェクトのイベントに設定したか確認できる

概要 関数を右クリックして「Find Unity Usages」を押すと どのゲームオブジェクトのイベントに設定したかを Rider 上で確認できます Unity 上にも結果が表示されるため、Unity からも確認できます 関数名の上に表示されている「XXXX asset usages」を押すこ…

【Rider】Unity の Inspector で値を変更できる変数にどんな値が設定されているか確認できる

概要 public 変数や SerializeField が適用された変数の右に表示されている 「Changed in XXXX asset」を選択すると どのシーンやプレハブでどんな値が設定されているか確認できます

【Rider】コードを生成した時に NotImplementedException を付与しないようにする方法

概要 Rider ではデフォルトではコードを生成した時に throw new NotImplementedException (); が付与されますが、 Rider メニューの「File > Settings」から 「Editor > Members Generation」を選択して 「Generated member default body style」を「Return …

【Rider】Ctrl + Alt + Enter でコードをフォーマットする

概要 Rider では Ctrl + Alt + Enter でコードをフォーマットできます

【Rider】Ctrl + Shift + T でファイルやクラスを検索できる

概要 Rider では Ctrl + Shift + T でファイルやクラスを検索できます 参考サイト様

【Rider】改行コードを設定する方法

概要 Rider メニューの「File > Settings」を選択して 「Editor > Code Style」の「Line separator」で改行コードを設定できます

【Rider】クラスの定義に飛ぶと逆コンパイルされたソースコードを閲覧できる

概要 Rider では F12 を押したり Ctrl を押しながらクラスをクリックして定義に飛ぶと 逆コンパイルされたソースコードを閲覧できます そのため、Unity を使用している場合は、 UnityEngine などのアセンブリに含まれているクラスの中身が どのようになって…

【Rider】ファイル保存時に行末の空白文字を削除する方法

概要 Rider メニューの「File > Settings」を選択して 「Editor > General」から「Strip trailling spaces on Save」を 「All」か「Modified Lines」に変更して「Save」を押すことで ファイル保存時に行末の空白文字が削除されるようになります All すべての…

【Rider】インデントをタブにする方法

概要 Rider メニューの「File > Settings」を選択して 「Editor > Code Style C#」から「Tabs, Indents, Alignment」タブを選び、 「Indent Style」を「Tab」に変更して「Save」を押します

【Rider】スクリプトを保存した時に Unity のコンパイルが自動で走らないようにする方法

概要 Rider はデフォルトで、スクリプトを保存した時に Unity のコンパイルが自動で走るようになっています Rider メニューの「File > Settings」から 「Unity Engine」を選択して「Automatically refresh assets in Unity」をオフにして 保存することで、ス…

【Rider】Explorer の表示を Unity に合わせる方法

概要 Rider の Explorer はデフォルトでは上記のような表示ですが 赤枠の項目から「Unity」を選択すると Unity の Assets や Packages などのフォルダに合わせた表示になります

【Rider】Unity の Console を Rider 上に表示する方法

概要 Rider 上部の Unity アイコンを押して「Show Unity Log Window」を選択すると Rider 上で Unity の Console を確認できるようになります スタックトレースのファイル名をクリックすると、 ソースコードの該当箇所にジャンプすることもできます

【Rider】Rider から Unity を再生、一時停止、停止、ステップ実行する方法

概要 Rider 上部のボタンは Unity エディタのこれらのボタンと同じ機能を持つため、 Rider から Unity を再生、一時停止、停止、ステップ実行することができます まだ Rider を Unity にアタッチしていない場合は使用できません Unity アイコンを押して「Att…

【Rider】Unity の連携機能が正常に動作していない場合の対処方法

概要 Rider メニューの「File > Settings」を選択して 「Plugins」を開いて検索欄に「Unity」と入力して 表示された「Unity Support」を選択して「Enable」ボタンを押して「Save」を押します あとは、Rider を再起動すると Unity の連携機能が正常に動作する…

【ReSharper】コードを生成した時に NotImplementedException を付与しないようにする方法

概要 ReSharper ではデフォルトではコードを生成した時に throw new NotImplementedException (); が付与されますが、 Visual Studio メニューの「RESHARPER > Options」から 「Code Editing > Members Generation」を選択して 「Generated member default b…

【C#】可変長引数を使用できる Enumerable.Concat

ソースコード using System.Collections.Generic; using System.Linq; public static class IEnumerableExt { public static IEnumerable<T> Concat<T> ( this IEnumerable<T> first, params T[] second ) { return Enumerable.Concat( first, second ); } } 使用例 </t></t></t>…

【C#】シーケンスの要素を条件を満たすものと満たさないものに分ける拡張メソッド

ソースコード using System; using System.Collections.Generic; public static class IEnumerableExt { public static Tuple<IEnumerable<T>, IEnumerable<T>> Partition<T> ( this IEnumerable<T> self, Func<T, bool> predicate ) { var ok = new List<T>(); var ng = new List<T>(); foreach ( v</t></t></t,></t></t></t></ienumerable<t>…

【C#】SelectMany( c => c ) の記述を簡略化する拡張メソッド

ソースコード using System.Collections.Generic; using System.Linq; public static class IEnumerableExt { public static IEnumerable<T> Flatten<T> ( this IEnumerable<IEnumerable<T>> self ) { return self.SelectMany( c => c ); } } 使用例 通常 foreach ( var n in list</ienumerable<t></t></t>…

【C#】Dictionary から最大値や最小値を持つ要素を検索する方法

方法1 using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<string, int> { { "フシギダネ", 1 }, { "フシギソウ", 2 }, { "フシギバナ", 3 }, }; // 最大値を</string,>…

【C#】Dictionary から指定したキーの要素を取得してから削除する拡張メソッド

ソースコード using System.Collections.Generic; public static class DictionaryExt { public static bool Remove<TKey, TValue> ( this Dictionary<TKey, TValue> self, TKey key, out TValue value ) { self.TryGetValue( key, out value ); return self.Remove( key ); } } 使用方法</tkey,></tkey,>…

【C#】Dictionary を結合する方法

目次 目次 foreach で結合する LINQ で結合する(キーが重複する場合は例外) LINQ で結合する(キーが重複しても大丈夫) 参考サイト様 foreach で結合する using System; using System.Collections.Generic; public static class Program { private static…

【C#】読み取り専用の Dictionary を使用する方法

ソースコード using System.Collections.Generic; using System.Collections.ObjectModel; public static class Program { private static void Main() { // 通常の Dictionary var table1 = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { </int,>…

【C#】Dictionary のキーに複数の値を設定する方法

構造体を使用する方法 using System; using System.Collections.Generic; public static class Program { // 構造体でキー用のデータを定義 public struct KeyData { public int m_series; public int m_number; public KeyData( int series, int number ) {…

【C#】Dictionary で値が重複している要素を取得する方法

ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 100, "フシギダネ" }, { 101, "フシギダネ" }, { 102, "フシギダネ" }, { </int,>…

【C#】Dictionary を逆順に参照する方法

ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // 逆</int,>…

【C#】IEnumerable からランダムに値を取得する拡張メソッド

ソースコード System.Random 版 using System; using System.Collections.Generic; using System.Linq; public static partial class IEnumerableExt { private static readonly Random m_random = new Random(); public static T RandomAt<T>( this IEnumerable<T></t></t>…

【C#】Dictionary で値からキーを取得する方法

ソースコード using System; using System.Collections.Generic; using System.Linq; public static class Program { private static void Main() { var table = new Dictionary<int, string> { { 1, "フシギダネ" }, { 2, "フシギソウ" }, { 3, "フシギバナ" }, }; // Fi</int,>…

【C#】登録順を取得できる Dictionary

ソースコード using System; using System.Collections; using System.Collections.Specialized; public static class Program { private static void Main() { // OrderedDictionary を使用すると登録順を取得できます var table = new OrderedDictionary {…

【C#】Dictionary をソートする方法

方法1 - SortedDictionary を使用する using System; using System.Collections.Generic; public static class Program { private static void Main() { var table = new SortedDictionary<int, string> { { 3, "フシギバナ" }, { 2, "フシギソウ" }, { 1, "フシギダネ" }</int,>…