新しいコンソールの下部が画面の下部から押し出されることがよくあるので、それを修正するために $Profile に以下を追加しました。PowerShell 用の新しい Windows ターミナルの使用を開始しようとしましたが、この機能のように使用するコンソールのサイズ変更ツールがないことがわかりました。これは理にかなっていますが (これは PowerShell コンソールではないためです!)、Windows ターミナルを使用する場合、明らかにこれに対する回避策が必要になります (また、新しい Windows ターミナルが画面の下部にあることが多いという同じ問題を見つけました)。
$host.UI.RawUI.
新しい Windows ターミナル アプリのサイズ変更/移動に使用できる回避策を見つけた人はいますか?
function Global:Set-ConsoleTopLeft {
# Note: the DLL code below should NOT be indented from the left-side(!)
Add-Type -Name Window -Namespace Console -MemberDefinition '
[DllImport("Kernel32.dll")]
public static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int W, int H); '
$consoleHWND = [Console.Window]::GetConsoleWindow();
$consoleHWND = [Console.Window]::MoveWindow($consoleHWND,75,0,600,600);
# $consoleHWND = [Console.Window]::MoveWindow($consoleHWND,-6,0,600,600);
}
function Global:Set-MaxWindowSize {
if ($Host.Name -match "console") {
$MaxHeight = $host.UI.RawUI.MaxPhysicalWindowSize.Height - 1
$MaxWidth = $host.UI.RawUI.MaxPhysicalWindowSize.Width - 20
$MyBuffer = $Host.UI.RawUI.BufferSize
$MyWindow = $Host.UI.RawUI.WindowSize
$MyWindow.Height = ($MaxHeight)
$MyWindow.Width = ($Maxwidth-2)
$MyBuffer.Height = (9999)
$MyBuffer.Width = ($Maxwidth-2)
$host.UI.RawUI.set_bufferSize($MyBuffer)
$host.UI.RawUI.set_windowSize($MyWindow)
}
}
Set-ConsoleTopLeft
Set-MaxWindowSize