Files
UnrealEngine/Engine/Source/Editor/UnrealEd/Public/EditorCommandLineUtils.h
2025-05-18 13:04:45 +08:00

38 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/StringView.h"
#include "Containers/UnrealString.h"
/**
*
*/
struct FEditorCommandLineUtils
{
/**
* Parses commands from the supplied command-line and invokes any tools/
* settings that we're specified.
*
* @param CommandLine The string to parse for command-line switches/params
*/
static void ProcessEditorCommands(const TCHAR* CommandLine);
/**
* Generally, users supply the project path/name as the second argument of
* the editor command-line, but in some cases (like for the -diff command),
* we can infer the project from elements elsewhere in the command-line...
* This function serves as a fallback for determining the launching project
* path, and does special processing based off of commands that are found in
* the command-line.
*
* @param EditorCmdLine The string to parse a project path from.
* @param ProjPathOut [out] Will be filled out with a full .uproject file path (if one was successfully parsed out) from the command-line.
* @param GameNameOut [out] Will be filled out with a game name (if a project path was successfully parsed out) from the command-line.
* @return True if the command-line contained enough info to pull a .uproject file from.
*/
UNREALED_API static bool ParseGameProjectPath(const TCHAR* EditorCmdLine, FString& ProjPathOut, FString& GameNameOut);
};
constexpr const TCHAR* GEditorUIPidVariable = TEXT("UE_EditorUIPid");