Implemented {project} placeholder for external dotnet editor
Implements the {project} placeholder, available when setting an external editor
in the project settings, via Editor > Editor Settings > Text Editor > External
for the c# external editor, under Editor > Editor Settings > Dotnet > Editor,
This allows passing the project folder as a command line argument when using a
custom external editor that isn't one of the available options.
Fixes #81845
(cherry picked from commit c01a47867b
)
This commit is contained in:
parent
8face42022
commit
222cba2aab
|
@ -190,6 +190,9 @@ namespace GodotTools
|
||||||
case ExternalEditorId.CustomEditor:
|
case ExternalEditorId.CustomEditor:
|
||||||
{
|
{
|
||||||
string file = ProjectSettings.GlobalizePath(script.ResourcePath);
|
string file = ProjectSettings.GlobalizePath(script.ResourcePath);
|
||||||
|
string project = ProjectSettings.GlobalizePath("res://");
|
||||||
|
// Since ProjectSettings.GlobalizePath replaces only "res:/", leaving a trailing slash, it is removed here.
|
||||||
|
project = project[..^1];
|
||||||
var execCommand = _editorSettings.GetSetting(Settings.CustomExecPath).As<string>();
|
var execCommand = _editorSettings.GetSetting(Settings.CustomExecPath).As<string>();
|
||||||
var execArgs = _editorSettings.GetSetting(Settings.CustomExecPathArgs).As<string>();
|
var execArgs = _editorSettings.GetSetting(Settings.CustomExecPathArgs).As<string>();
|
||||||
var args = new List<string>();
|
var args = new List<string>();
|
||||||
|
@ -226,6 +229,7 @@ namespace GodotTools
|
||||||
hasFileFlag = true;
|
hasFileFlag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
arg = arg.ReplaceN("{project}", project);
|
||||||
arg = arg.ReplaceN("{file}", file);
|
arg = arg.ReplaceN("{file}", file);
|
||||||
args.Add(arg);
|
args.Add(arg);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue