78 lines
2.8 KiB
C#
78 lines
2.8 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using Microsoft.VisualStudio.Shell;
|
|
using System;
|
|
using System.ComponentModel;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace UnrealVS
|
|
{
|
|
[Guid(GuidList.UnrealVSOptionsString)]
|
|
public class UnrealVsOptions : DialogPage
|
|
{
|
|
public event EventHandler OnOptionsChanged;
|
|
|
|
[Category("General")]
|
|
[DisplayName("Hide Non-Game Startup Projects")]
|
|
[Description("Shows only game projects in the startup project and batch-builder lists")]
|
|
public bool HideNonGameStartupProjects { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Enable Auto Checkout on Save")]
|
|
[Description("Uses P4 ini / environment settings to automatically checkout files on save, use 'RunUAT P4WriteConfig' to initialize those settings")]
|
|
public bool AllowUnrealVSCheckoutOnEdit { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Override VS Compare Options")]
|
|
[Description("Unreal VS will override built in diff settings to the ideal for code, does not alter P4")]
|
|
public bool AllowUnrealVSOverrideDiffSettings { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Use P4V Diff")]
|
|
[Description("Uses P4V to diff files")]
|
|
public bool UseP4VDiff { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Allow Perforce operations")]
|
|
[Description("Uses P4 ini / environment settings to call P4 functionality, use 'RunUAT P4WriteConfig' to initialize those settings")]
|
|
public bool AllowUnrealVSP4 { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Allow Async Checkout")]
|
|
[Description("Switches checkout (on edit or manual) to an async method, note if the p4 operation fails the local file will still be writable")]
|
|
public bool AllowAsyncP4Checkout { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Force P4 Output Window to Active")]
|
|
[Description("When set, normal P4 operations will force the output window to the surface")]
|
|
public bool ForceOutputWindow { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Allow Reconcile to Mark for Edit")]
|
|
[Description("Switches Reconcile from preview mode to marking files for edit in the default CL")]
|
|
public bool AllowReconcileToMarkForEdit { get; set; }
|
|
|
|
[Category("Unreal.P4")]
|
|
[DisplayName("Reconcile Extensions")]
|
|
[Description("Reconcile will attempt to resolve these extensions (including wildcards)")]
|
|
public string ReconcileExtensions { get; set; } = "c*;h*;ini;uproject;uplugin";
|
|
|
|
[Category("General")]
|
|
[DisplayName("Prefix UE5 Solution Name with Folder")]
|
|
[Description("Will include name of folder that UE5.sln is located in to Visual Studio window title.")]
|
|
public bool IncludeFolderInUE5SolutionName { get; set; } = true;
|
|
|
|
protected override void OnApply(PageApplyEventArgs e)
|
|
{
|
|
base.OnApply(e);
|
|
|
|
if (e.ApplyBehavior == ApplyKind.Apply && OnOptionsChanged != null)
|
|
{
|
|
OnOptionsChanged(this, EventArgs.Empty);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|