[VS2022] 現在のドキュメントの変更履歴をクリア

Visual Studioで編集していると、ファイルの変更履歴として黄色や緑のバーが表示されます。 この変更履歴をリセットする方法が意外にも用意されていません。 一応方法としては、 ファイルを開き直す、変更履歴の設定をON/OFFする 探していたらVisualCommande…

[Git] コミットのAuthorDateとCommitDateを合わせる方法

git rebase をすると CommitDate が今の時間に変更されます。 AuthorDateと同一にしたい場合は --committer-date-is-author-date オプションを使用します。 git rebase HEAD~10 --committer-date-is-author-dategit - インタラクティブリベースしたコミット…

[.NET] 出力フォルダにターゲットフレームワークのフォルダを作らない

プロジェクト ファイルの形式がProject SDKに変更されたことで、 出力フォルダにターゲットフレームワークのフォルダが作成されるようになりました。 <Project Sdk="Microsoft.NET.Sdk">複数のターゲットフレームワークの場合は有効ですが、一つの場合はフォルダが深くなるだけで正直必要あり</project>…

PowerPoint ストーリーボードのアドイン

Visual Studio をインストールするとPowrPointのアドイン(ストーリーボード)も追加されて便利な図形が使用できました。 作成するアプリケーションのイメージ図を作るときに重宝します。Visual Studio 2015ではPowerPoint用ストーリーボード・アドオンが下…

.NET6、.NET7のインテリセンス(IntelliSense)やツールチップを日本語の表記にする

.NET5 まで .NETからインテリセンスの表示が英語のみになってしまいました。 .NET Core 3.0、.NET Core 3.1、.NET 5まではローカライズされたファイルを配置すれば日本語化できます。 learn.microsoft.comただし、.NET 6.0からはローカライズされたファイル…

Visual Studioの設定ファイル

Visual Studioの設定ファイルは2つの場所に保存されています。 CurrentSettings.vssettings === 1つ目は CurrentSettings.vssettings です。 中はXML形式になっています。 VisualStudioの [ツール → オプション] から [環境 → 設定のインポートとエクスポー…

Git fatal: unsafe repository ('xxxxxxxxx' is owned by someone else)

fatal: unsafe repository ('xxxxxxxxx' is owned by someone else)git v2.35.2 でセキュリティアップデートが入ったようで、コミットが開けなくなりました。 gitの対象フォルダの所有者が自分では無いことが原因のようで、まずはフォルダの所有者を確認しま…

ソリューションを.Net Frameworから.NETへバージョンアップする方法

.NET5からソリューションの記述方法が変わりました。 今までのソリューションを.NET5、.NET6にするには結構めんどくさかったり。。。マイクロソフトから「.NET アップグレード アシスタント」としてツールが出ています。インストール // インストール dotnet…

[WPF] 編集可能なComboBoxのTextが消える問題

編集可能なComboBox (IsEditable="True")のItemsSorceを変更したときに、ItemsSorceから現在の項目が消えた場合にTextも消滅してしまう問題です。 あくまでもComboBoxのメニュー(DropDown)は「選択もできるよ!」のつもりなのに、メニューから消えるとTe…

.Net 5 でインテリセンス(IntelliSense)やツールチップを日本語の表記にする

Visual Studio 2019を使い始めました。 というか.Net 5 を使い始めました。.Net 5の初期状態だとツールチップが英語です .Net Framework 4.5のときも同じような状態でしたが、これはバグだったみたい。 Visual StudioのIntelliSenseが英語になっていたので日…

[Visual Studio 2019] ソリューションエクスプローラーでAltキードラッグで、リンクファイルが作成できない

Visual Studio 2019で、リンクファイルのショートカット操作が消されてしまったようです。 https://social.msdn.microsoft.com/Forums/en-US/66715ed6-ed1b-4922-be5c-d79d3f3c22b8/altdrag-to-create-a-link-to-a-file?forum=visualstudiogeneral https://d…

WPFでWindows Runtime API の Windows.winmd について

WPFでWindows 8、8.1、10 のAPIを呼ぶことができます。 デスクトップ アプリからのWinRT API利用 | ++C++; // 未確認飛行 C ブログWPFのプロジェクトで Windows.winmd を参照するとライブラリとして使えるようになります。 WPF などの .NET Framework のアプ…

MSDN コードギャラリーの提供終了

MSDN コードギャラリーのページが無くなり、新しいコードサンプルページが作成されています。 https://code.msdn.microsoft.com/ MSDN コード ギャラリーの提供終了 | Microsoft Learn新しいコードサンプルページ Browse code samples | Microsoft Learn悲し…

[WPF] Expression Blend ライブラリのいらない言語リソースファイルたち

Expression Blend の Behavior 便利ですよね! すっごいよく使います。 System.Windows.Interactivity.dll Microsoft.Expression.Interactions.dllVisual Studioから使うExpression BlendのBehavior達 - かずきのBlog@hatena 参照設定で追加してー ビルドす…

Visual Studio Version Selector がぶっ壊れた

Visual Studioのソリューションファイル.slnはVisual Studio Version Selectorが関連付けられています。 Visual Studio Version Selectorは.slnファイル内に記載されているVisual Studioのバージョンを読み取り、適切なVisual Studioのバージョンを起動しま…

ExceptionのHResultについて

C#

C#でファイル操作などのWindowsに関わる操作を行うと内部的にはWindows APIが呼ばれます。 WindowsAPIはC#ではないので、エラーになったときにはC++的な形でエラーコードを返します。 それをC#でラッピングしてあるので、C#でExceptionとしてエラーを取得す…

無理やりワンライナー

C#

こんな感じのときってあると思います。 var result = ""; if( 条件1 ){ result = "1つ目"; }else if( 条件2 ){ result = "2つ目"; } この初期化めんどくさくない? var result = ""; 三項演算子 ただ、三項演算子で書くと「(◕‿‿◕)ワケガワカラナイヨ・・…

[Rx] 変更通知の合成はObservable.Merge<object>です。

WPFでBindingする時にLivetを使っていたのですが、ReactivePropertyが面白そうだったのではじめました。 Livetだと自分の好きなタイミングで変更通知イベントを出せていたのですが、Rxだとそのタイミングもロジックとして書く必要があります。要は、Aプロパ…

[WPF] タッチ長押しで右クリックをやめる(□を表示させない)

少ないですがWindowsタブレット用のアプリでドラッグやタッチしっぱなしの操作がメインのときにタッチ長押しの右クリック機能が邪魔なときがあります。対象のXamlの添付プロパティにこれを使いするだけ Stylus.IsPressAndHoldEnabled = false こんな感じです…

[WPF] ComboBoxをItemsSourceとSelectedItemで扱う時の注意

2019/06/13 再度試してみたら問題なく初期値が設定されました SelectedItem で初期値を設定する場合には SelectedItem を先に設定してから ItemsSource を変更しないと初期値が設定されない場合があるようです。味気ないので、雰囲気コード(実際には動かな…

[WPF] ワンランク上のPOPUP コントロール

POPUP コントロール についてです。 よく 「ボタンを押す」→「ポップアップ出す」というデザインを使います。ポップアップの動作的にはこんな感じになると思います。 ボタンを押す。 ポップアップを表示させる。 ポップアップ以外の場所をクリックするとポッ…

Visual Studio デザインモードの判定

Visual Studioのデザイナーすごい便利ですよね! ただ、デザイン時には実行してほしくないコードが実行されてしまうときもあります。そんなときはコードに実行中かどうかの判定を記述しましょう。 自分は以下のコードを使用しています。 if( System.Componen…

[WPF] 自作ライブラリを使う時に、Xamlのxmlnsで指定する名前空間について

自分でライブラリを作った時にXmlnsDefinitionを記述するとXamlで指定する名前空間に好きな文字を付けられます。 AssemblyInfo.cs にでも記述しておくとわかりやすいかな? // [assembly: XmlnsDefinition("Xamlでの名前空間", "ライブラリのネームスペース"…

[WinForm] NativeWindowでWinProcの処理を切り分け

WinFormの場合、WinProcからメッセージを受け取って処理を行うという処理をまとめたい場合にNativeWindowと便利になります。 といっても下記URLからの情報なのでこれ以上は無いですhttps://social.msdn.microsoft.com/Forums/vstudio/ja-JP/a121e807-50ad-47…

[WPF] WebBrowserコントロール

WebBrowserコントロールを使用すると、アプリケーション内でブラウザを使用することができます。 が、これはMicrosoftのコントロールなのでInternet Explorerです。 しかも、互換性の問題とやらで標準ではIE7になります。 最新のIEを使用するためにはレジス…

WPFのデザインについて

WPFではView(デザイン)の変更がわりと簡単に行えるが、少し特殊なことをしたいときにはどうにもならない場合がある。sygh.hatenadiary.jpControlTemplateを使った場合、指定したデザインに固定されてしまうため、Windowsのバージョンによって微妙に違うコ…

VS Package での注意

Visual Studio Packageを作成します。デンッ! 自動的に参照を追加してくれてDLLファイルがコピーされるのですが、どうもパスが長いようです。 保存しているソリューションのフォルダ場所によっては255文字を超えるためエラーになります。自動的に追加される…

Visual Studioで開く の削除方法

Visual Studio 2017をインストールするとフォルダの右クリックメニューに「Visual Studioで開く」が追加されます。 最近だと日本語化もされずに「Open in Visual Studio」が追加されます。 追記:2018/08/16削除するには以下のレジストリを削除します。 Wind…

[WPF] TextBoxのキャレットが消える問題

TextBoxをScaleTransformで縮小するとキャレット(カーソルの場所の縦棒|)がたまに消えます。まあ、キャレットの1ドットも一緒に縮小されて消えちゃうんだろうなーと思いますが。。。解決方法はScaleTransformを使わないことです。 もしも縮小していたらI…

GitHub Microsoft

GitHubにMicrosoft公式のリポジトリがあります。 Microsoft · GitHubいろんなサンプルがあるので参考になりそうです。 GitHub - microsoft/Windows-classic-samples: This repo contains samples that demonstrate the API used in Windows classic desktop …