diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index 64a5bee6..5c345cec 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -6525,7 +6525,7 @@ namespace IDE ProcessStartInfo procInfo = scope ProcessStartInfo(); procInfo.UseShellExecute = true; - procInfo.SetFileName(gApp.mSettings.mEditorSettings.mDefaultConsole); + procInfo.SetFileName(gApp.mSettings.mWindowsTerminal); procInfo.SetWorkingDirectory(directory); let process = scope SpawnedProcess(); diff --git a/IDE/src/Settings.bf b/IDE/src/Settings.bf index bbc394b6..95a5c108 100644 --- a/IDE/src/Settings.bf +++ b/IDE/src/Settings.bf @@ -657,7 +657,6 @@ namespace IDE public List mFonts = new .() ~ DeleteContainerAndItems!(_); public float mFontSize = 12; - public String mWindowsConsole = new .("Powershell") ~ delete _; public AutoCompleteShowKind mAutoCompleteShowKind = .PanelIfVisible; public bool mAutoCompleteRequireControl = true; public bool mAutoCompleteRequireTab = false; @@ -692,7 +691,6 @@ namespace IDE sd.Add(str); } sd.Add("FontSize", mFontSize); - sd.Add("WindowsConsole", mWindowsConsole); sd.Add("AutoCompleteShowKind", mAutoCompleteShowKind); sd.Add("AutoCompleteRequireControl", mAutoCompleteRequireControl); sd.Add("AutoCompleteRequireTab", mAutoCompleteRequireTab); @@ -730,7 +728,6 @@ namespace IDE } sd.Get("UIScale", ref gApp.mSettings.mUISettings.mScale); // Legacy sd.Get("FontSize", ref mFontSize); - sd.Get("WindowsConsole", mWindowsConsole); sd.Get("AutoCompleteShowKind", ref mAutoCompleteShowKind); sd.Get("AutoCompleteRequireControl", ref mAutoCompleteRequireControl); sd.Get("AutoCompleteRequireTab", ref mAutoCompleteRequireTab); @@ -1112,6 +1109,7 @@ namespace IDE public KeySettings mKeySettings = new .() ~ delete _; public RecentFiles mRecentFiles = new RecentFiles() ~ delete _; public String mWakaTimeKey = new .() ~ delete _; + public String mWindowsTerminal = new .("Powershell") ~ delete _; public String mEmscriptenPath = new .() ~ delete _; public bool mEnableDevMode; public TutorialsFinished mTutorialsFinished = .(); @@ -1169,6 +1167,8 @@ namespace IDE mDebuggerSettings.Serialize(sd); using (sd.CreateObject("VisualStudio")) mVSSettings.Serialize(sd); + using (sd.CreateObject("Terminal")) + sd.Add("WindowsTerminal", mWindowsTerminal); using (sd.CreateObject("Wasm")) sd.Add("EmscriptenPath", mEmscriptenPath); @@ -1258,6 +1258,8 @@ namespace IDE mDebuggerSettings.Deserialize(sd); using (sd.Open("VisualStudio")) mVSSettings.Deserialize(sd); + using (sd.Open("Terminal")) + sd.Get("WindowsTerminal", mWindowsTerminal); using (sd.Open("Wasm")) sd.Get("EmscriptenPath", mEmscriptenPath); diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 1e92e033..98e8d152 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -2958,7 +2958,7 @@ namespace IDE.ui void AddOpenContainingFolder() { var folderItem = menu.AddItem("Open Containing Folder"); - var item = folderItem.AddItem("In Explorer"); + var item = folderItem.AddItem("File Explorer"); item.mOnMenuItemSelected.Add(new (item) => { let projectItem = GetSelectedProjectItem(); @@ -2991,7 +2991,7 @@ namespace IDE.ui } }); - item = folderItem.AddItem("In Console"); + item = folderItem.AddItem("Terminal"); item.mOnMenuItemSelected.Add(new (menu) => { let projectItem = GetSelectedProjectItem(); @@ -3015,7 +3015,7 @@ namespace IDE.ui if (!path.IsWhiteSpace) { ProcessStartInfo psi = scope ProcessStartInfo(); - psi.SetFileName(gApp.mSettings.mEditorSettings.mWindowsConsole); + psi.SetFileName(gApp.mSettings.mWindowsTerminal); psi.SetWorkingDirectory(path); psi.UseShellExecute = true; diff --git a/IDE/src/ui/SettingsDialog.bf b/IDE/src/ui/SettingsDialog.bf index 27e7c392..cb008659 100644 --- a/IDE/src/ui/SettingsDialog.bf +++ b/IDE/src/ui/SettingsDialog.bf @@ -17,6 +17,7 @@ namespace IDE.ui Compiler, Debugger, VisualStudio, + Terminal, Wasm, COUNT @@ -61,6 +62,7 @@ namespace IDE.ui AddCategoryItem(root, "Compiler"); AddCategoryItem(root, "Debugger"); AddCategoryItem(root, "Visual Studio"); + AddCategoryItem(root, "Terminal"); AddCategoryItem(root, "Wasm"); if (!gApp.mSettings.mVSSettings.IsConfigured()) @@ -96,7 +98,6 @@ namespace IDE.ui category.mTextColor = Color.Mult(DarkTheme.COLOR_TEXT, cHeaderColor); AddPropertiesItem(category, "Font", "mFonts"); AddPropertiesItem(category, "Font Size", "mFontSize"); - AddPropertiesItem(category, "Windows Console", "mWindowsConsole"); AddPropertiesItem(category, "Autocomplete", "mAutoCompleteShowKind"); AddPropertiesItem(category, "Autocomplete Require Control", "mAutoCompleteRequireControl"); AddPropertiesItem(category, "Autocomplete Require Tab", "mAutoCompleteRequireTab"); @@ -169,6 +170,18 @@ namespace IDE.ui category.Open(true, true); } + void PopulateTerminalOptions() + { + mCurPropertiesTarget = gApp.mSettings; + + var root = (DarkListViewItem)mPropPage.mPropertiesListView.GetRoot(); + var (category, propEntry) = AddPropertiesItem(root, "General"); + category.mIsBold = true; + category.mTextColor = Color.Mult(DarkTheme.COLOR_TEXT, cHeaderColor); + AddPropertiesItem(category, "Windows Terminal", "mWindowsTerminal"); + category.Open(true, true); + } + void CommandContextToString(IDECommand.ContextFlags contextFlags, String str) { bool isFirst = true; @@ -424,6 +437,8 @@ namespace IDE.ui PopulateDebuggerOptions(); case .VisualStudio: PopulateVSOptions(); + case .Terminal: + PopulateTerminalOptions(); case .Wasm: PopulateWasmOptions(); default: diff --git a/IDE/src/ui/StartupPanel.bf b/IDE/src/ui/StartupPanel.bf index fec18625..37486a71 100644 --- a/IDE/src/ui/StartupPanel.bf +++ b/IDE/src/ui/StartupPanel.bf @@ -184,7 +184,7 @@ namespace IDE.ui } ProcessStartInfo psi = scope ProcessStartInfo(); - psi.SetFileName(gApp.mSettings.mEditorSettings.mWindowsConsole); + psi.SetFileName(gApp.mSettings.mWindowsTerminal); psi.UseShellExecute = true; psi.SetWorkingDirectory(mPath);