From 6af1903d8c461a02cd94d461a756164d0a3bc888 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Wed, 11 Mar 2020 15:55:02 -0700 Subject: [PATCH 01/13] Fixed #58: Multi-line commands rendering wrong --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index e0e27cd..07eb4bd 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using OutGridView.Models; using Terminal.Gui; @@ -164,6 +165,11 @@ private static string GetPaddedString(List strings, int[] colWidths, int builder.Append(' '); } + // Replace any newlines with encoded newline (`n) + // Note we can't use Environment.Newline because we don't know that the + // Command honors that. + strings[i] = strings[i].Replace("\n", "`n"); + // If the string won't fit in the column, append an ellipsis. if (strings[i].Length > colWidths[i]) { From a69373eae9534aaf1a771f372982b5ea03ecc6de Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Wed, 11 Mar 2020 16:00:25 -0700 Subject: [PATCH 02/13] Fixed #58 - Newlines in commands render incorrectly --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index 07eb4bd..19deced 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using System.Text.RegularExpressions; using OutGridView.Models; using Terminal.Gui; From f155262ca88adaab5c49c16fd232b789d6c32abe Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Wed, 11 Mar 2020 16:30:01 -0700 Subject: [PATCH 03/13] Added debug instructions to readme --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 073a375..5672e70 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,35 @@ Get-Process | Out-ConsoleGridView > NOTE: If you change the code and rebuild the project, you'll need to launch a > _new_ PowerShell process since the dll is already loaded and can't be unloaded. +### Debugging in Visual Studio Code + + +```powershell +PS C:\path\to\GraphicalTools> code . +``` + +Build by hitting `Ctrl-Shift-b` in VS Code. + +To debug: + +In a Powershell session in the `c:\path\to\GraphicalTools` directory, run `pwsh` (thus nesting powershell). + +Then do the folowing: + +```powershell +Import-Module .\module\Microsoft.PowerShell.ConsoleGuiTools +$pid +``` + +This will import the latest built DLL and output the process ID you'll need for debugging. Copy this ID to the clipboard. + +In VScode, set your breakpoints, etc... Then hit `F5`. In the VScode search box, paste the value printed by `$pid`. You'll see something like `pwsh.exe 18328`. Click that and the debug session will start. + +In the Powershell session run your commands; breakpoints will be hit, etc... + +When done, run `exit` to exit the nested PowerShell and run `pwsh` again. This unloads the DLL. Repeat. + + ## Contributions Welcome! We would love to incorporate community contributions into this project. If you would like to From 440833ea33563e47efbb1c2558be67fd125291ef Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Wed, 11 Mar 2020 16:31:28 -0700 Subject: [PATCH 04/13] Update src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs Co-Authored-By: Tyler James Leonhardt --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index 19deced..e784836 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -167,6 +167,7 @@ private static string GetPaddedString(List strings, int[] colWidths, int // Replace any newlines with encoded newline (`n) // Note we can't use Environment.Newline because we don't know that the // Command honors that. + strings[i] = strings[i].Replace("\r\n", "`r`n"); strings[i] = strings[i].Replace("\n", "`n"); // If the string won't fit in the column, append an ellipsis. From dd2e765f705d9914aee7ad1b4e6cde2eeafcc432 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Wed, 11 Mar 2020 19:45:23 -0700 Subject: [PATCH 05/13] simplified stripping of newline/linefeed --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index e784836..2692d5b 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -164,10 +164,10 @@ private static string GetPaddedString(List strings, int[] colWidths, int builder.Append(' '); } - // Replace any newlines with encoded newline (`n) + // Replace any newlines with encoded newline/linefeed (`n or `r) // Note we can't use Environment.Newline because we don't know that the // Command honors that. - strings[i] = strings[i].Replace("\r\n", "`r`n"); + strings[i] = strings[i].Replace("\r", "`r"); strings[i] = strings[i].Replace("\n", "`n"); // If the string won't fit in the column, append an ellipsis. From 474826e6dd3987041e94692f8ea4b1cfca758afb Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Tue, 29 Sep 2020 10:39:32 -0700 Subject: [PATCH 06/13] made column spacing tigher --- .../ConsoleGui.cs | 34 ++++++++++--------- .../GridViewDetails.cs | 2 +- ...icrosoft.PowerShell.ConsoleGuiTools.csproj | 2 +- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index 78e76ad..0dd3ac5 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -14,8 +14,11 @@ namespace OutGridView.Cmdlet internal class ConsoleGui : IDisposable { private const string FILTER_LABEL = "Filter"; + // This adjusts the left margin of all controls + private const int FILTER_LABEL_X = 2; private bool _cancelled; private GridViewDataSource _itemSource; + private Label _filterLabel; private TextField _filterField; private ListView _listView; private ApplicationData _applicationData; @@ -28,9 +31,8 @@ public HashSet Start(ApplicationData applicationData) _gridViewDetails = new GridViewDetails { // If OutputMode is Single or Multiple, then we make items selectable. If we make them selectable, - // they have a 8 character addition of a checkbox (".....[ ]" or ".....( )") - // that we have to factor in. - ListViewOffset = _applicationData.OutputMode != OutputModeOption.None ? 8 : 4 + // 2 columns are required for the check/selection indicator and space. + ListViewOffset = _applicationData.OutputMode != OutputModeOption.None ? FILTER_LABEL_X + 2 : FILTER_LABEL_X }; Window win = AddTopLevelWindow(); @@ -189,25 +191,25 @@ private void CalculateColumnWidths(List gridHeaders) private void AddFilter(Window win) { - var filterLabel = new Label(FILTER_LABEL) + _filterLabel = new Label(FILTER_LABEL) { - X = 2 + X = FILTER_LABEL_X }; _filterField = new TextField(string.Empty) { - X = Pos.Right(filterLabel) + 1, - Y = Pos.Top(filterLabel), + X = Pos.Right(_filterLabel) + 1, + Y = Pos.Top(_filterLabel), CanFocus = true, - Width = Dim.Fill() - filterLabel.Text.Length + Width = Dim.Fill() - _filterLabel.Text.Length }; var filterErrorLabel = new Label(string.Empty) { - X = Pos.Right(filterLabel) + 1, - Y = Pos.Top(filterLabel) + 1, + X = Pos.Right(_filterLabel) + 1, + Y = Pos.Top(_filterLabel) + 1, ColorScheme = Colors.Base, - Width = Dim.Fill() - filterLabel.Text.Length + Width = Dim.Fill() - _filterLabel.Text.Length }; _filterField.TextChanged += (str) => @@ -232,14 +234,14 @@ private void AddFilter(Window win) } }; - win.Add(filterLabel, _filterField, filterErrorLabel); + win.Add(_filterLabel, _filterField, filterErrorLabel); } private void AddHeaders(Window win, List gridHeaders) { var header = new Label(GridViewHelpers.GetPaddedString( gridHeaders, - _gridViewDetails.ListViewOffset + _gridViewDetails.ListViewOffset - 1, + _gridViewDetails.ListViewOffset, _gridViewDetails.ListViewColumnWidths)) { X = 0, @@ -286,7 +288,7 @@ private void LoadData() valueList.Add(dataValue); } - string displayString = GridViewHelpers.GetPaddedString(valueList, _gridViewDetails.ListViewOffset, _gridViewDetails.ListViewColumnWidths); + string displayString = GridViewHelpers.GetPaddedString(valueList, 0, _gridViewDetails.ListViewColumnWidths); items.Add(new GridViewRow { @@ -304,8 +306,8 @@ private void AddRows(Window win) { _listView = new ListView(_itemSource) { - X = 3, - Y = 4, + X = Pos.Left(_filterLabel), + Y = Pos.Bottom(_filterLabel) + 3, // 1 for space, 1 for header, 1 for header underline Width = Dim.Fill(2), Height = Dim.Fill(2), AllowsMarking = _applicationData.OutputMode != OutputModeOption.None, diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDetails.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDetails.cs index 2b4a6c7..4841b7f 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDetails.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDetails.cs @@ -8,7 +8,7 @@ internal class GridViewDetails // Contains the width of each column in the grid view. public int[] ListViewColumnWidths { get; set; } - // Dictates where the grid should actually start considering + // Dictates where the header should actually start considering // some offset is needed to factor in the checkboxes public int ListViewOffset { get; set; } diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj b/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj index 9aa0f20..edb4ee5 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj @@ -6,7 +6,7 @@ - + From 3112550bf3cd4b97d13812d742952cd0e4f7fa6a Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Tue, 29 Sep 2020 11:06:48 -0700 Subject: [PATCH 07/13] update to new Terminal.gui package; no code changes --- .../Microsoft.PowerShell.ConsoleGuiTools.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj b/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj index 9aa0f20..897219a 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/Microsoft.PowerShell.ConsoleGuiTools.csproj @@ -6,7 +6,7 @@ - + From 86a72b558dc36f6e242362300c648e3e506b1999 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Tue, 29 Sep 2020 11:40:27 -0700 Subject: [PATCH 08/13] removed excess padding on right --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index 7ec8296..29bb520 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -171,7 +171,7 @@ private void CalculateColumnWidths(List gridHeaders) // if the total width is wider than the usable width, remove 1 from widest column until it fits // the gui loses 3 chars on the left and 2 chars on the right - _gridViewDetails.UsableWidth = Application.Top.Frame.Width - 3 - listViewColumnWidths.Length - _gridViewDetails.ListViewOffset - 2; + _gridViewDetails.UsableWidth = Application.Top.Frame.Width - 3 - listViewColumnWidths.Length - _gridViewDetails.ListViewOffset; int columnWidthsSum = listViewColumnWidths.Sum(); while (columnWidthsSum >= _gridViewDetails.UsableWidth) { From c95abc569c2bcf4e0fcfbfeec4a13d88a052306c Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Tue, 29 Sep 2020 11:47:43 -0700 Subject: [PATCH 09/13] removed excess rows at bottom --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 5 ++--- .../GridViewDataSource.cs | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index 29bb520..db866d1 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -170,8 +170,7 @@ private void CalculateColumnWidths(List gridHeaders) } // if the total width is wider than the usable width, remove 1 from widest column until it fits - // the gui loses 3 chars on the left and 2 chars on the right - _gridViewDetails.UsableWidth = Application.Top.Frame.Width - 3 - listViewColumnWidths.Length - _gridViewDetails.ListViewOffset; + _gridViewDetails.UsableWidth = Application.Top.Frame.Width - MARGIN_LEFT - listViewColumnWidths.Length - _gridViewDetails.ListViewOffset; int columnWidthsSum = listViewColumnWidths.Sum(); while (columnWidthsSum >= _gridViewDetails.UsableWidth) { @@ -311,7 +310,7 @@ private void AddRows(Window win) X = Pos.Left(_filterLabel), Y = Pos.Bottom(_filterLabel) + 3, // 1 for space, 1 for header, 1 for header underline Width = Dim.Fill(2), - Height = Dim.Fill(2), + Height = Dim.Fill(), AllowsMarking = _applicationData.OutputMode != OutputModeOption.None, AllowsMultipleSelection = _applicationData.OutputMode == OutputModeOption.Multiple, }; diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDataSource.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDataSource.cs index ff82fb5..f8047ce 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDataSource.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/GridViewDataSource.cs @@ -47,7 +47,7 @@ private void RenderUstr(ConsoleDriver driver, ustring ustr, int col, int line, i { (var rune, var size) = Utf8.DecodeRune(ustr, index, index - ustr.Length); var count = Rune.ColumnWidth(rune); - if (used + count >= width) break; + if (used + count > width) break; driver.AddRune(rune); used += count; index += size; From 142ffe5aaf95555c86a7bc0e8ca0e47e8c715e88 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Tue, 29 Sep 2020 13:33:48 -0700 Subject: [PATCH 10/13] status bar wsa occluding window --- src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs index db866d1..00be36f 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ConsoleGui.cs @@ -95,7 +95,7 @@ private Window AddTopLevelWindow() Y = 0, // By using Dim.Fill(), it will automatically resize without manual intervention Width = Dim.Fill(), - Height = Dim.Fill() + Height = Dim.Fill(1) }; Application.Top.Add(win); From fd934e168ce6454164be2b7357c4e5c49f14886b Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Thu, 1 Oct 2020 10:54:12 -0700 Subject: [PATCH 11/13] fixed build scripts to only build ocgv --- .vscode/tasks.json | 7 ++++++- Build.ps1 | 12 ++++++++++-- GraphicalTools.build.ps1 | 4 +++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8af661d..0056896 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -16,7 +16,12 @@ "args": [ "-c", "Invoke-Build", - "Build" + // Build both modules + //"Build -ModuleName Microsoft.PowerShell.GraphicalTools, Microsoft.PowerShell.ConsoleGuiTools", + // Build only Out-GridView + //"Build -ModuleName Microsoft.PowerShell.GraphicalTools", + // Build only Out-ConsoleGridView + "Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools", ], "problemMatcher": "$msCompile", "group": { diff --git a/Build.ps1 b/Build.ps1 index 1398d79..e514a57 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -1,3 +1,11 @@ -Invoke-Build Build -pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.GraphicalTools'; Get-Process | Out-GridView -PassThru" +# Build script for buildling/testing from the commnad line. See tasks.json for how build is invoked within VS Code +# GraphicalTools includes two modules: Microsoft.PowerShell.GraphicalTools and Microsoft.PowerShell.ConsoleGuiTools +# To build them all leave -ModuleName off the `InvokeBuild` command (e.g. Invoke-Build Build). +# To build only one, specify it using the -ModuleName paramater (e.g. Invoke-Build Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools). + +# Build... +Invoke-Build Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools + +# Run what was built... +# pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.GraphicalTools'; Get-Process | Out-GridView -PassThru" pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.ConsoleGuiTools'; Get-PSProfile | Out-ConsoleGridView -OutputMode Single -Title 'PS Profiles' -Filter power" \ No newline at end of file diff --git a/GraphicalTools.build.ps1 b/GraphicalTools.build.ps1 index dd3d3c7..dbbeef9 100644 --- a/GraphicalTools.build.ps1 +++ b/GraphicalTools.build.ps1 @@ -3,7 +3,9 @@ param( [ValidateSet("Debug", "Release")] [string]$Configuration = "Debug", - [string[]]$ModuleName = @( "Microsoft.PowerShell.GraphicalTools", "Microsoft.PowerShell.ConsoleGuiTools" ) + [string[]]$ModuleName = @( + "Microsoft.PowerShell.GraphicalTools", + "Microsoft.PowerShell.ConsoleGuiTools" ) ) $script:IsUnix = $PSVersionTable.PSEdition -and $PSVersionTable.PSEdition -eq "Core" -and !$IsWindows From aac2d2c0a9e09a22dd9a928401adff1a2e230683 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Fri, 2 Oct 2020 16:59:24 -0700 Subject: [PATCH 12/13] use built-in command in build.ps1 --- Build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Build.ps1 b/Build.ps1 index e514a57..b07b4a8 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -8,4 +8,4 @@ Invoke-Build Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools # Run what was built... # pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.GraphicalTools'; Get-Process | Out-GridView -PassThru" -pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.ConsoleGuiTools'; Get-PSProfile | Out-ConsoleGridView -OutputMode Single -Title 'PS Profiles' -Filter power" \ No newline at end of file +pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.ConsoleGuiTools'; Get-Module | Out-ConsoleGridView -OutputMode Single -Title 'Imported Modules' -Filter power" \ No newline at end of file From 9db8c902c49a7d70f71f825c6a393bea0e8a3e50 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Fri, 2 Oct 2020 17:07:15 -0700 Subject: [PATCH 13/13] fixed the other one too --- Build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Build.ps1 b/Build.ps1 index b07b4a8..fd2eeff 100644 --- a/Build.ps1 +++ b/Build.ps1 @@ -7,5 +7,5 @@ Invoke-Build Build -ModuleName Microsoft.PowerShell.ConsoleGuiTools # Run what was built... -# pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.GraphicalTools'; Get-Process | Out-GridView -PassThru" -pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.ConsoleGuiTools'; Get-Module | Out-ConsoleGridView -OutputMode Single -Title 'Imported Modules' -Filter power" \ No newline at end of file +# pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.GraphicalTools'; Get-Module -all | Out-GridView -OutputMode Single -Title 'Imported Modules' +pwsh -noprofile -command "Import-Module -verbose '$PSScriptRoot/module/Microsoft.PowerShell.ConsoleGuiTools'; Get-Module -all | Out-ConsoleGridView -OutputMode Single -Title 'Imported Modules' -Filter power" \ No newline at end of file