PowerShell / PSReadLine

A bash inspired readline implementation for PowerShell
BSD 2-Clause "Simplified" License
3.73k stars 295 forks source link

Within VSCode The value must be greater than or equal to zero and less than the console's buffer size in that dimension #1006

Closed aguerot closed 5 years ago

aguerot commented 5 years ago

Environment data

PS version: 6.1.0 PSReadline version: 2.0.0-beta3 os: 10.0.18362.1 (WinBuild.160101.0800) PS file version: 6.1.0.0 BufferWidth: 118 BufferHeight: 20

Within Visual Studio Code terminal --> Exception details reported


System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: top
Actual value was -16.
   at System.Console.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken)```

Steps to reproduce or exception report
--------------------------------------
Within Visual Studio Code context.
No clear repro steps identified, the exception appears usually after pressing CTRL+L  to clear the terminal.

Can't repro outside VS Code
rony-vargas commented 5 years ago

I also receive the same issue on my Visual Studio code terminal: Version: 1.37.1 (system setup) Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35 Date: 2019-08-15T16:17:55.855Z Electron: 4.2.7 Chrome: 69.0.3497.128 Node.js: 10.11.0 V8: 6.9.427.31-electron.0 OS: Windows_NT x64 10.0.18362 Last 200 Keys:

 " $ p a t h \ a z u r e v m s . c s v " Space | Space % { R e n a m e - I t e m Space - P a t h Space $ _ . f u l l n a m e Space - N e w N a m e Space $ ( $ ( $ _ . n a m e ) . r e p l a c e ( " . c s v " , " " ) Space + Space " - " Space + Space $ _ . l a s t w r i t e t i m e . t o s t r i n g ( " y y y y M M d d " ) Space + Space " . c s v " ) } Enter
 Enter
 } Enter
 $ a z u r e v m s | Space e x p o r t - c s v Space c : \ t e m p 2 \ a z u r e v m s . c s v Enter

Exception:

System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: top
Actual value was -9.
   at System.Console.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
   at Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
   at Microsoft.PowerShell.PSConsoleReadLine.AcceptLineImpl(Boolean validate)
   at Microsoft.PowerShell.PSConsoleReadLine.AcceptLine(Nullable`1 key, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken)
JanBuerger commented 5 years ago

Same thing (just german). Happens every time I press run inside VSC. Can't repro outside VS Code

Letzte 200 Tasten:
 u 1 Ctrl+Alt+\ . m 2 Ctrl+Alt+\ r e p o s i t o r y Ctrl+Alt+\ m y s q l Ctrl+Alt+\ m y s q l - c o n n e c t o r - j a v a Ctrl+Alt+\ 8 . 0 . 1 7 Ctrl+Alt+\ m y s q l - c o n n e c t o r - j a v a - 8 . 0 . 1 7 . j a r ; C : Ctrl+Alt+\ U s e r s Ctrl+Alt+\ S c h u 1 Ctrl+Alt+\ . m 2 Ctrl+Alt+\ r e p o s i t o r y Ctrl+Alt+\ o r g Ctrl+Alt+\ j a v a s s i s t Ctrl+Alt+\ j a v a s s i s t Ctrl+Alt+\ 3 . 2 3 . 1 - G A Ctrl+Alt+\ j a v a s s i s t - 3 . 2 3 . 1 - G A . j a r ' Space ' c o m . d e v g l a 
n . A p p l i c a t i o n ' Space Enter

Ausnahme:
System.ArgumentOutOfRangeException: Der Wert muss größer als oder gleich 0 (null) sein und geringer als die Puffergröße der Konsole in dieser Dimension.
Parametername: top
Der tatsächliche Wert war -48.
   bei System.Console.SetCursorPosition(Int32 left, Int32 top)
   bei Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
   bei Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
   bei Microsoft.PowerShell.PSConsoleReadLine.Insert(Char c)
   bei Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(Nullable`1 key, Object arg)
   bei Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
   bei Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   bei Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)
waitinghub commented 5 years ago

上 200 个密钥: s \ L e n o v o \ . v s c o d e \ e x t e n s i o n s \ m s - p y t h o n . p y t h o n - 2 0 1 9 . 9 . 3 4 9 1 1 \ p y t h o n F i l e s \ p t v s d _ l a u n c h e r . p y ' Space ' - - d e f a u l t ' Space ' - - c l i e n t ' Space ' - - h o s t ' Space ' l o c a l h o s t ' Space ' - - p o r t ' Space ' 5 7 6 4 1 ' Space ' e : \ 自 动 化 测 试 \ M \ M . C o m m o n \ P u b F u n c t i o n \ P u b F u n c t i o n . p y ' Space Enter

异常: System.ArgumentOutOfRangeException: 该值必须大于或等于零,且必须小于控制台缓冲区在该维度的大小。 参数名: top 实际值是 -9。 在 System.Console.SetCursorPosition(Int32 left, Int32 top) 在 Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor) 在 Microsoft.PowerShell.PSConsoleReadLine.ForceRender() 在 Microsoft.PowerShell.PSConsoleReadLine.Insert(Char c) 在 Microsoft.PowerShell.PSConsoleReadLine.SelfInsert(Nullable1 key, Object arg) 在 Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary2 dispatchTable, Boolean ignoreIfNoAction, Object arg) 在 Microsoft.PowerShell.PSConsoleReadLine.InputLoop() 在 Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)

daxian-dbw commented 5 years ago

Fixed by #979