2025年7月7日月曜日

VisualStudio内の比較

VisualStudio2022でファイル比較(Diff)が使えるようになっていたのでソースファイルの手直しがかなり楽になってはいました。

ですが、操作の起点がソリューションエクスプローラー限定っぽく、どうやってもメニューに「比較やコンペア」と言った文字が出てきてくれません。 

唯一、ツールバーに「ファイルを比較」とかあったので『もしや!?』と期待して表示させてみましたが、どうもファイル比較状態のエディットウィンドウになっていないと使えない模様。残念。

 

途方に暮れこれまでも何度もネット検索で見てきましたが、もう少し地道に調べることに。

AIが嘘説明が多すぎて正直邪魔でしかありません。

 

調べてみると、2022 17.7からファイル比較ができるようになっているようで、

Microsoft、「Visual Studio 2022 17.7」に2つのファイルの中身を比較する機能を追加 https://codezine.jp/article/detail/18213

現状の17.14.7でも利用できそうなのですが、上記記事のような「Ctrlを押しながら2つのファイルを選択した状態で…」という形にしもどこのポップアップメニューにも比較できそうなメニュー項目は追加されず、

2つのファイルの内容を比較して差分を表示する https://www.javadrive.jp/vscode/editor/index3.html

で書かれているコマンドパレットなるものは表示される気配もなく…メニューもない。コマンドウィンドウというものがあったが、「比較」や「Compare」と入力してみても無駄でした。

そして行き着いた先が

「Visual Studio」にようやく差分表示(Diff)が実装へ? ~叩き台となる拡張機能が公開 https://forest.watch.impress.co.jp/docs/news/1445493.html 

おそらく現状の2022 17.14.7ではこのプラグインが取り込まれた形となっているようですが、ファイル比較の起点がただのファイル編集状態では機能しないのでこの記事にあるプラグインを使うことにしました。

ただ、プラグインってどうやってインストールするんだか知りませんw

そもそもマーケットプレイスとかあるし、なんだかオープンな様でオープンでない言葉を見るとやる気が失せるわけですが。

File Differ https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileDiffer

こちらより直接ダウンロードはできました。

なんかよくわからん拡張子だけどそのまま実行すると、インストーラっぽい感じでインストールが終わりました。

あとからVisualStudio内のメインメニューの

拡張機能(X) / 拡張機能の管理(M)

を選択すると 

こんな画面が出てきてFile Diffと入力すればそのままいい感じで取り込んでくれそうな感じになっていました。

すでに正しくインストールが終わっているようで 

こんな感じでインストール状態になっていました。

プラグイン状態のおかげで、一つのファイルが開かれた状態からポップアップメニューにCompareの文字が表示され、無事ファイル比較ができるようになりました。


 

やはり余計なプラグインが入っていたのが原因だった

先日の出力タイマーの時間が保持されないと言った原因はリネームしたプラグインが原因でした。

しかも2つ…プラグインフォルダのファイルを取り除いて起動するとスッキリしました。

 

やはりこちらはプレビューの枠が無い状態。ウィンドウの大きさを変えても出てこないのでどこかの設定が違うだけなのか? 

2025年7月5日土曜日

プラグインフォルダ

プレビューのグレー枠が気にはなっていますが、それ以外にも少し気になる点が。

こちらは手を加えた出力タイマーですが、時間設定の変更をしてobs-studioを再起動するとどうも時間が変更する前の状態に戻っているという謎現象。

ソースを追うと時間設定値を開始時にはファイルからリストアされて、終了時にはファイルに保存されている部分がありました。具体的には

C:\Users\[ユーザー名]\AppData\Roaming\obs-studio\basic\scenes\[シーン名].json

内のoutput-timerに保存されています。更新状況を見ると毎回終了時に書き出されているのが確認できました。

コンパイル環境では出力タイマーの時間設定値は更新されていて、実際に使用している環境だと時間設定値が変わらないという状況で、原因がよくわからないので一旦obs-studioのファイルの整合性チェックを行って更新して見ましたが、変化がなかったので、再インストールすることに。31.0.4のインストーラが公開されていたのでこれで試してみます。

設定ファイルは消さない状態で再インストールしましたが、出力タイマーの時間設定値が更新されることを確認。

そしてカスタマイズした実行ファイルを被せてみます。

まずは本体。obs64.exeとobs64.pdbをリネームし、入れ替え再実行。→時間設定値が更新される。

次にプラグインとなるfrontend-tools.dllとfrontend-tools.pdbをリネームし、入れ替えて再実行。→時間設定値が更新されない。

さらに実行ログにはNumber of memory leaks: 1という明らかに良くなさそうなものがきろくされていました。 

プラグインかぁ…とobs-studioのメニューのツール内を見てみると、なにやら英語と日本語表記がダブって表示されていることに気づき…frontend-tools.dllとfrontend-tools.pdbをリネームしてプラグインフォルダに残っていることが原因ではなかろうかと…。

不要なリネームしたファイルを一旦関係のない別のフォルダに移動してobs-studioを起動して試してみると、メニューはスッキリ日本語のみとなり、時間設定値も保存されるようになりました。実行ログもNumber of memory leaks: 0となったのでめでたしめでたし。

プラグインフォルダには余計なファイルを入れていおいてはダメみたいですねw  

 

2025年7月4日金曜日

プレビューの枠?

31.0.4で消えたと思っていたプレビュー画面のグレーの枠

別PCのOBSを31.0.4にアップデートしたところ…

消えてねくね?

消えたと思ってたけど消えてなかったのか??

後日ウィンドウのサイズを変えて確認しよう。 

2025年7月1日火曜日

あれ?

31.0.3をインストーラーからインストールして、更新して、カスタマイズした31.0.4のexeとカスタマイズしたプラグインの実行ファイルを放り込んだはずの環境のobsのウィンドウには31.0.3と出ている……。

インストールされているフォルダ内を確認してみると、差し替える元となるファイルのバージョンは31.0.3になっている。ということは、31.0.3の環境に31.0.4のカスタマイズされた実行ファイルと、プラグインを入れ替えたという状態になっているのだろうなぁ…単純にobs-studio内からアップデートかけてないということか…orz

そんなわけで、試しにobs-studio内から更新を行ってみると「最新の状態」となってしまい、何も変わらず。なのでファイルの整合性チェックを行い、更新してみると、ようやく31.0.4の状態になったっぽいです。  

まぁカスタマイズで差し替えたものは綺麗さっぱり正規の状態に書き戻されたわけですが、ここで改めてカスタマイズし昨日作成した実行ファイルを差し替えて…。ようやく期待している状態になりましたw 

 

そもそも31.0.xはそんなに違いは無いはずなのと、各モジュールとのインタフェースは変わってない感じなので当然と言えば当然ですが、もしかしてそれぞれの環境を個別にgit cloneする必要はなかったという事実w

ちょうどいいタイミングでSDカードが飛んでしまったのでNTFSフォーマットにして作業場所ができたのでいいんですけど。