yotiky Tech Blog

とあるエンジニアの備忘録

2024-04-01から1ヶ月間の記事一覧

Unity - Editor 拡張のチートシート

目次 目次 検証環境 全般 リファレンス OnGUI Unity 起動時の処理 値の更新と保存 フォルダ構成 Editor フォルダ リソース Resources フォルダ Editor Default Resources フォルダ 拡張対象 オリジナルウィンドウ 既存ウィンドウ Inspector Hierarchy Projec…

Visual Studio Code - 拡張機能「Text Tables」

概要 Markdownのテーブル作成を少し便利にしてくれる拡張機能。行や列の入れ替えが簡単にできる。 marketplace.visualstudio.com 目次 概要 目次 機能 コマンド Table Mode 補足 機能 コマンド コマンドパレットの呼び出し Windows : Ctrl + Shift + P Mac :…

Unity - 既定のウィンドウのクラス名をすべて取得する

private void Main() { var builder = new StringBuilder(); var list = GetAllEditorWindowTypes(); foreach ( var n in list.Select(x => x.ToString()).OrderBy(x => x) ) { builder.AppendLine( n ); } Debug.Log( builder.ToString() ); } private stat…

Unity - シンボリックリンクを操作するエディター拡張

機能 フォルダのみ操作可能 ルートで指定したディレクトリ配下のシンボリックリンクを検索して一覧表示 シンボリックリンクの作成と削除 ソースコードは以下に。 github.com

C# - 管理者権限でコマンドプロンプトを実行する

Verb に RunAs を設定して、UseShellExecute を true にする。 Hidden が設定されている時に、WaitForExit で待機すると処理が終了しない可能性があるので注意。 public static class Cmd { public static void CreateSymbolicLink(string src, string dest)…

LINQPad - LINQPad 5 で使われる .NET Framework のバージョンを確認する

LINQPadはインストールされている最新 .NET Framework 4.xを対象としている。 以下のフォーラムで最新のバージョンが何であるか確認する linq ファイルが共有されている。 forum.linqpad.net 以下コードの抜粋。 void Main() { GetFWVersion().Dump(); } sta…

C# - シンボリックリンクを操作する(.NET 5以前)

TL;DR .NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたが、5以前では使えないため Win32API を使って操作する。 注意する点は実行に管理者権限が必要なため、Unity などから利用するのは難しいかもしれない。 .NET 6 以降は以下を参照。 …

Unity - Editor拡張で使えるUI機能の概要 ( GUI / GUILayout / EditorGUI / EditorGUILayout)

目次 目次 環境 概要 関数一覧 GUI GUILayout EditorGUI EditorGUILayout 環境 Unity 2022.3 概要 Editor拡張で使えるUI機能はクラスが4つある GUI - Unity スクリプトリファレンス GUILayout - Unity スクリプトリファレンス EditorGUI - Unity スクリプト…

Unity - Path を操作する

目次 目次 検証環境 Path を操作する Assetsからの相対パス、絶対パス Assets を含む相対パス 検証環境 LINQPad で代替 Path を操作する yotiky.hatenablog.com Assetsからの相対パス、絶対パス void Main() { //var baseDir = Application.dataPath; var ba…

Unity - UPMのローカルパッケージ参照で特殊フォルダーを共有する

TL;DR 動的にロードされるアセットだけが含まれるフォルダー(ResourcesやStreamingAssets)を対象とした場合、AssetPostprocessorやPackage Managerのイベントが利用できる可能性がある。 条件が厳しいのはUPMにアセットを含める関係上、元のGUIDを維持でき…

C# - シンボリックリンクを操作する

TL;DR .NET 6 でDirectoryクラスにCreateSymbolikLinkメソッドが追加されたため、6以降ではバッチやProcessを使わなくても C# で直接シンボリックリンクを作成できるようになりました。 この記事はディレクトリを対象としていますが、ファイルを対象としたFi…

Windows 11 - ショートカットキーでアプリを別の仮想デスクトップに移動する

目次 目次 TL;DR 仮想デスクトップ AutoHotKeyの導入 スクリプトファイル TL;DR Windows 10 で使用していた MoveToDesktop が Windows 11 では使用できない AutoHotKey を使用して同等の機能を導入する 導入すると現在のウィンドウを [Win + Alt + → or ←] …