Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

F# interactive shows random characters when editing a line #315

Closed
egamma opened this issue Dec 20, 2016 · 12 comments
Closed

F# interactive shows random characters when editing a line #315

egamma opened this issue Dec 20, 2016 · 12 comments
Labels
reproduction needed Bug reports that can't be reproduced by maintainers

Comments

@egamma
Copy link

egamma commented Dec 20, 2016

From @basvdlinden on December 19, 2016 20:34

  • VSCode Version: Code 1.8.0 (38746938a4ab94f2f57d9e1309c51fd6fb37553d, 2016-12-13T17:45:32.595Z)
  • OS Version: Windows_NT ia32 10.0.14393
  • Extensions:
Extension Author Version
Ionide-fsharp Ionide 2.13.2
csharp ms-vscode 1.5.3

Steps to Reproduce:

  1. Type a few characters
  2. Press backspace a few times

or

  1. Type a few characters
  2. Use mouse to select a character in the middle
  3. Type a few characters

Copied from original issue: microsoft/vscode#17557

@Krzysztof-Cieslak
Copy link
Member

@egamma F# Interactive is using terminal integration (createTerminal with shellPath set to fsi.exe) so as far as I understand Ionide shouldn't have any impact on stuff that happens when user is typing in directly in it.

IMO either:

  1. It's bug in Code's terminal (and this should be reproducible with normal terminal, not only FSI -@basvdlinden, please try that)
  2. It's bug in F# Interactive (and then it should be reproducible outside of VSCode, using FSI in command line - again, @basvdlinden, please try that)

@egamma
Copy link
Author

egamma commented Dec 20, 2016

@Krzysztof-Cieslak agreed, if this can be reproduced outside of the F# interactive, then please move the issue back to vscode.

@Krzysztof-Cieslak Krzysztof-Cieslak added the reproduction needed Bug reports that can't be reproduced by maintainers label Dec 20, 2016
@basvdlinden
Copy link

basvdlinden commented Dec 21, 2016

Test executed. Number 3 and 5 resulted in the same behavior:

  1. Use "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" outside VSCode: No random characters. Can't reproduce the problem.
  2. Use normal terminal (cmd.exe) from VSCode terminal: No random characters. Can't reproduce the problem.
  3. Use normal terminal (cmd.exe) from VSCode terminal AND then start FSI.exe. "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe". Random characters. I can reproduce same behavior as using "ALT Enter" and then editing line.
  4. Use powershell terminal ("terminal.integrated.shell.windows": "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe") from VSCode terminal. No random characters. Can't reproduce the problem.
  5. Use powershellterminal ("terminal.integrated.shell.windows": "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe") from VSCode terminal AND then start FSI.exe. "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe". Random characters. I can reproduce same behavior as using "ALT Enter" and then editing line.
  6. Run cmd.exe and then "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" outside VSCode: No random characters. Can't reproduce the problem.

I updated before testing:

  • VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
  • OS Version: Windows_NT ia32 10.0.14393
  • Extensions:
Extension Author Version
Ionide-fsharp Ionide 2.15.0
csharp ms-vscode 1.5.3

@basvdlinden
Copy link

Retested. Same behavior for extensions:

Extension Author Version
Ionide-fsharp Ionide 2.19.4
csharp ms-vscode 1.6.2

@egamma
Copy link
Author

egamma commented Jan 17, 2017

@basvdlinden I cannot reproduce the behaviour given the above steps in the latest insider version. Please see the attached recording.

terminal

Can you pls try to reproduce in the insider build as well https://code.visualstudio.com/insiders

@basvdlinden
Copy link

basvdlinden commented Jan 29, 2017

@egamma I can reproduce it doing exactly the same. (Although reproducing it with just 10 characters on one line may take a few retries)

I have a different F# interactive version ...

Microsoft (R) F# Interactive version 14.0.23413.0
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

I have also installed VS2015 update 3 on my system (and the Visual F# 4.0 extension)

@egamma
Copy link
Author

egamma commented Jan 30, 2017

@basvdlinden can you please add an animated gif. This will help with coming up with a repro.

// FYI @Tyriar

@Tyriar
Copy link

Tyriar commented Jan 31, 2017

If this is about the prompt going out of sync with the backend after pressing backspace I expect it to be fixed in v1.9 as part of the winpty upgrade. See microsoft/vscode#14613 and microsoft/vscode#7345

@basvdlinden
Copy link

FSI works, but VSCODE has the problem:

fsi

vscode

@Tyriar
Copy link

Tyriar commented Jan 31, 2017

@basvdlinden that's the stable build (1.8.1). Can you test on Insiders (1.9.0)?

@basvdlinden
Copy link

Could not reproduce the problem with VSCODE insiders.

(What you can't see on the animated gif is that the cursor jumps to random locations, within the input string, for a very short time on ever backspace key input.)

vscode_insiders

@egamma
Copy link
Author

egamma commented Feb 1, 2017

Closing - works in insiders build and will be pushed to stable soon.

@egamma egamma closed this as completed Feb 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reproduction needed Bug reports that can't be reproduced by maintainers
Projects
None yet
Development

No branches or pull requests

4 participants