再度表示する方法だけなら
- メニュー -> プロジェクト -> 概要
- ソリューションエクスプローラー -> プロジェクト選択 -> 右クリック -> 概要
VisualStudioのプロジェクト新規作成ダイアログから作成する場合、テンプレートエンジンが勝手に概要ページを表示するようになっているので通常の方法では無効にできません。
VisualStudioの外部、たとえばコマンドプロンプトで`dotnet new maui'を入力して作成したプロジェクトをソリューションに既存のプロジェクトとして追加する場合には初回表示されません。
あるいは以下のようなVisualStudioの拡張機能を作成すれば初回表示させないことは可能です
namespace VSIXProject1
{
using Microsoft.VisualStudio.Shell;
using System;
using System.Runtime.InteropServices;
using System.Threading;
using Task = System.Threading.Tasks.Task;
using System.Linq;
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
[Guid(VSIXProject1Package.PackageGuidString)]
[ProvideAutoLoad(Microsoft.VisualStudio.Shell.Interop.UIContextGuids.SolutionExists, PackageAutoLoadFlags.BackgroundLoad)]
[ProvideAutoLoad(Microsoft.VisualStudio.Shell.Interop.UIContextGuids.NoSolution, PackageAutoLoadFlags.BackgroundLoad)]
public sealed class VSIXProject1Package : AsyncPackage
{
public const string PackageGuidString = "3d9892d1-6b68-4ba8-9b11-2f611d69caff";//各自GUIDを作成すること
#region Package Members
protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
{
await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
dte = (EnvDTE.DTE)await GetServiceAsync(typeof(EnvDTE.DTE));
cev = dte.Events.CommandEvents;
cev.BeforeExecute += Cev_BeforeExecute;
}
private EnvDTE.DTE dte;
private EnvDTE.CommandEvents cev;
private void Cev_BeforeExecute(string Guid, int ID, object CustomIn, object CustomOut, ref bool CancelDefault)
{
ThreadHelper.ThrowIfNotOnUIThread();
try
{
var cmd = dte.Commands.Item(Guid, ID);
if (cmd?.Name == "ShowApplicationCapabilitiesDesigner")
{//概要(OverView)を表示させるコマンドの名前と一致
//呼び出し元を調べる
bool fromOpenProject = new System.Diagnostics.StackTrace().GetFrames()
.Any(_ => _.GetMethod().Name == "SolutionEvents_OnAfterOpenProject");
if (fromOpenProject)
{
//プロジェクト作成時のみコマンドキャンセル
CancelDefault = true;
}
}
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine($"GUID={Guid} ,ID={ID} ERR{ex.Message}");
}
}
#endregion
}
}