From dd2e2c5b3a0e0ee8427c1b8f6ad917d7f165ebbf Mon Sep 17 00:00:00 2001 From: Saas Date: Sat, 14 Feb 2026 18:35:13 +0100 Subject: [PATCH] add some utility for copying parameter names to parameter right click menu --- Source/Editor/Surface/VisjectSurfaceWindow.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/Editor/Surface/VisjectSurfaceWindow.cs b/Source/Editor/Surface/VisjectSurfaceWindow.cs index 7c2cb23ad..26cfe9e95 100644 --- a/Source/Editor/Surface/VisjectSurfaceWindow.cs +++ b/Source/Editor/Surface/VisjectSurfaceWindow.cs @@ -708,12 +708,27 @@ namespace FlaxEditor.Surface { var index = (int)label.Tag; menu.AddSeparator(); + menu.AddButton("Copy name", () => Clipboard.Text = ((IVisjectSurfaceWindow)Values[0]).VisjectSurface.Parameters[index].Name); + menu.AddButton("Copy all names", () => Clipboard.Text = GetAllParamterNamesAsConstantCSharpCode()); + menu.AddSeparator(); menu.AddButton("Rename", () => StartParameterRenaming(index, label)); menu.AddButton("Edit attributes...", () => EditAttributesParameter(index, label)); menu.AddButton("Delete", () => DeleteParameter(index)); OnParamContextMenu(index, menu); } + private string GetAllParamterNamesAsConstantCSharpCode() + { + string allParamNames = ""; + foreach (var param in ((IVisjectSurfaceWindow)Values[0]).VisjectSurface.Parameters) + { + string cleanParamName = param.Name.Replace(" ", ""); + allParamNames += $"private const string {cleanParamName}ParameterName = \"{param.Name}\";\n"; + } + + return allParamNames; + } + private void StartParameterRenaming(int index, Control label) { var window = (IVisjectSurfaceWindow)Values[0];