コガネブログ

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

2017-12-21から1日間の記事一覧

【Visual Studio 2017】好きな画像をコードウィンドウの背景に表示できる拡張機能「Colorful-IDE」

概要 「Colorful-IDE」を Visual Studio に導入すると 好きな画像をコードウィンドウの背景に表示できるようになります 使用例 使い方 Visual Studio メニューの「ツール>オプション」から 「Colorful-IDE」を選択して表示したい画像を設定します 関連記事

【Visual Studio 2017】ソリューションごとにタイトルバーの色を設定できる拡張機能「SolutionColor」

概要 「SolutionColor」を Visual Studio に導入すると ソリューションごとにタイトルバーの色を設定できるようになります 使い方 ツールバーを右クリックして「Solution Color」を選択します そして、ツールバーに追加されたボタンを押して 好きな色を選択…

【Visual Studio 2017】コメントを吹き出しアイコンに置き換えることができる拡張機能「NoComment」

概要 「NoComment」を Visual Studio に導入すると コメントを吹き出しアイコンに置き換えることができるようになります 使い方 例えば上記のようなコメントが記述されている時に ツールバーに追加されたこれらのボタンを押すと このようにコメントを吹き出…

【Visual Studio 2017】IE や Word からコピーした文字列を貼り付けた時に不要な空白行を自動で取り除く拡張機能「Pretty Paste」

概要 「Pretty Paste」を Visual Studio に導入すると IE や Word からコピーした文字列を貼り付けた時に 不要な空白行を自動で取り除いてくれるようになります 関連記事

【Visual Studio 2017】ソリューションの起動時に開いていたドキュメントを閉じてフォルダを折りたたんでおくことができる拡張機能「Clean Solution」

概要 「Clean Solution」を Visual Studio に導入すると ソリューションの起動時に開いていたドキュメントを閉じて フォルダを折りたたんでおくことができるようになります 使い方 例えば、上記のようにフォルダやドキュメントを開いた状態で Visual Studio …

【Visual Studio 2017】ダミーの文章を挿入できる拡張機能「Dummy Text Generator」

概要 「Dummy Text Generator」を Visual Studio に導入すると ダミーの文章を挿入できるようになります 使い方 コードウィンドウを右クリックして「Generate text...」を選択して 挿入する文章の単語数と種類を設定して「Insert」ボタンを押すと 文章を挿入…

【Visual Studio 2017】改行文字を可視化できる拡張機能「End of the Line」

概要 「End of the Line」を Visual Studio に導入すると 改行文字を可視化できるようになります 使い方 Ctrl + R、Ctrl + W を押すことで改行文字を可視化できます もう一度押すことで非表示になります 関連記事

【Visual Studio 2017】UTF-8 のファイルを BOM 無しで保存できる拡張機能「Fix File Encoding」

概要 「Fix File Encoding」を Visual Studio に導入すると UTF-8 のファイルを BOM 無しで保存できるようになります 関連記事

【Visual Studio 2017】マウスホイールによるスクロールが滑らかになる拡張機能「Smooth Scrolling」

概要 「Smooth Scrolling」を Visual Studio に導入すると マウスホイールによるスクロールが滑らかになります 使い方 Shift を押しながらマウスホイールを回すと、大きくスクロールできます Ctrl を押しながらマウスホイールを回すと、1ページ分スクロール…

【Visual Studio 2017】クリップボードの文字列を様々な書式で貼り付けることができる拡張機能「SmartPaster2017」

概要 「SmartPaster2017」を Visual Studio に導入すると クリップボードの文字列を様々な書式で貼り付けることができるようになります 使い方 コードウィンドウを右クリックして「Paste As...」から貼り付け方を選択します 例えば、「ピカチュウ」という文…

【Visual Studio 2017】コメントのフォントや色、透明度をカスタマイズできる拡張機能「Better Comments」

概要 「Better Comments」を Visual Studio に導入すると コメントのフォントや色、透明度をカスタマイズできるようになります 使い方 コメントの先頭に特定のキーワードを記述することで その行のコメントのフォントや色、透明度をカスタマイズできます Vis…

【Visual Studio 2017】選択した単語のすべての出現箇所をハイライト表示できる拡張機能「Word Highlight With Margin」

概要 「Word Highlight With Margin」を Visual Studio に導入すると 選択した単語のすべての出現箇所をハイライト表示できるようになります 使い方 単語をダブルクリックすると、その単語の出現箇所がハイライト表示されます また、スクロールバーにも、単…

【Visual Studio 2017】使用したコマンドに紐付くショートカットキーをステータスバーに表示できる拡張機能「Learn the Shortcut」

概要 「Learn the Shortcut」を Visual Studio に導入すると 使用したコマンドに紐付くショートカットキーを ステータスバーに表示できるようになります 使い方 例えばコードウィンドウを右クリックして 「using の削除と並べ替え」を選択すると ステータス…

【Visual Studio 2017】メインメニューを非表示にできる拡張機能「HideMainMenu2017」

概要 「HideMainMenu2017」を Visual Studio に導入すると メインメニューを非表示にできるようになります 導入前 導入後 メインメニューを表示したい時は Alt キーを押します 関連記事

【Visual Studio 2017】コードウィンドウ左に表示される変更履歴を消去できる拡張機能「Clear Tracked Changes」

概要 「Clear Tracked Changes」を Visual Studio に導入すると コードウィンドウ左に表示される変更履歴を消去できるようになります 使い方 コードウィンドウ左に変更履歴が表示されている時に Visual Studio メニューの「ツール>Clear Tracked Changes」を…

【Visual Studio 2017】コメントで画像を表示できる拡張機能「ImageComments」

概要 「ImageComments」を Visual Studio に導入すると コメントで画像を表示できるようになります 使い方 XML ドキュメントコメントで image タグを使用します 関連記事

【Visual Studio 2017】ソリューションエクスプローラのインラインクラスビューを無効化できる拡張機能「Disable Solution Explorer's Dynamic Nodes」

概要 「Disable Solution Explorer's Dynamic Nodes」を Visual Studio に導入すると ソリューションエクスプローラのインラインクラスビューを無効化できるようになります 導入前 導入後 Visual Studio メニューの 「表示>Disable Solution Explorer's Dyna…

【Visual Studio 2017】ファイルのプロパティウィンドウを表示できる拡張機能「File Info」

概要 「File Info」を Visual Studio に導入すると ファイルのプロパティウィンドウを表示できるようになります 使い方 ウィンドウ右下のアイコンをクリックすると、 ファイルのプロパティウィンドウを表示できます 関連記事

【Visual Studio 2017】ファイルをメモ帳で開くことができる拡張機能「OpenWith/EditWith」

概要 「OpenWith/EditWith」を Visual Studio に導入すると ファイルをメモ帳で開くことができるようになります 使い方 タブを右クリックして「Edit with Notepad」を選択すると そのファイルをメモ帳で開くことができます 関連記事

【Unity】【uGUI】RectTransform のピボットの設定を楽にする拡張メソッド

はじめに var t = self.GetComponent<RectTransform>(); var pivot= t.pivot; pivot= new Vector2( 0, 1 ); t.pivot= pivot; RectTransform のピボットを設定する記述が少し冗長に感じたので わかりやすくするための拡張メソッドを作成しました ソースコード using UnityEng</recttransform>…

【Unity】【uGUI】RawImage のテクスチャを変更した時にサイズも更新する拡張メソッド

はじめに var rawImage = GetComponent<RawImage>(); rawImage.texture = texture; rawImage.SetNativeSize(); スクリプトから RawImage のテクスチャを変更する時に 一緒に SetNativeSize 関数を呼び出すことが多かったので これらをまとめた拡張メソッドを作成しまし</rawimage>…

【Unity】【uGUI】Image のスプライトを変更した時にサイズを合わせる拡張メソッド

はじめに var image = GetComponent<Image>(); image.sprite = sprite; image.SetNativeSize(); スクリプトから Image のスプライトを変更する時に 一緒に SetNativeSize 関数を呼び出すことが多かったので これらをまとめた拡張メソッドを作成しました ソースコー</image>…

【Unity】【uGUI】Text の文字列の設定を楽にする拡張メソッド

はじめに var text = GetComponent<Text>(); int score = 25; float time = 0.5f: text.text = score.ToString(); text.text = time .ToString(); スコアやタイムなどの数値を Text で表示する場合、 ToString 関数を呼び出して text に設定する必要があり コーデ</text>…

【Unity】【NGUI】複数選択している UISprite を一括で Snap するエディタ拡張

ソースコード using System.Linq; using UnityEditor; public static class Example { [MenuItem( "Tools/Snap All" )] private static void SnapAll() { var list = Selection.gameObjects .Select( c => c.GetComponent<UISprite>() ) .Where( c => c != null ) .ToA</uisprite>…

【C#】シーケンスを指定された要素数で分割する拡張メソッド

ソースコード using System.Collections.Generic; using System.Linq; public static class IEnumerableExt { public static IEnumerable<IEnumerable<T>> Chunks<T> ( this IEnumerable<T> self, int size ) { while ( self.Any() ) { yield return self.Take( size ); self = se</t></t></ienumerable<t>…

【Unity】GC の発生を抑える ~文字列の操作編~

概要 m_spriteName = "coin_" + index.ToString(); スプライト名を変更してセルアニメーションさせる処理を Update 関数に記述したところ、 毎フレーム 66B の GC Alloc が発生して ときどきゲームがカクつく状態になった 下記ように配列を使用する書き方に…

【Unity】GC の発生を抑える ~リストの操作編~

概要 var list = activeThings.FindAll( c => !c.IsEnable ); list.ForEach( c => Destroy( c.gameObject ) ); activeThings.RemoveAll( c => !c.IsEnable ); 無効になったオブジェクトを Destroy して リストから削除する処理を LateUpdate 関数に記述した…

【C#】List のサイズを設定できる拡張メソッド

ソースコード using System; using System.Collections.Generic; /// <summary> /// List 型の拡張メソッドを管理するクラス /// </summary> public static class ListExtensions { /// <summary> /// サイズを設定します /// </summary> public static void SetSize<T>( this List<T> self, int size ) {</t></t>…

【Unity】MonoBehaviour を継承したクラスで Main という名前の関数を定義すると Awake の後に呼び出される

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { print( "Awake" ); } private void Main() { print( "Main" ); } private void Start() { print( "Start" ); } }

【Unity】Input.GetKey や Input.GetKeyDown の記述を簡略化する拡張メソッド

ソースコード using UnityEngine; public static class KeyCodeExt { public static bool IsPressing( this KeyCode self ) { return Input.GetKey( self ); } public static bool IsPressed( this KeyCode self ) { return Input.GetKeyDown( self ); } } …