ionide / ionide-vscode-fsharp

VS Code plugin for F# development
http://ionide.io
MIT License
859 stars 277 forks source link

Autocomplete/Intellisense only working when manually invoked with Ctrl-Space, or after a dot #1669

Closed OctarineSourcerer closed 2 years ago

OctarineSourcerer commented 2 years ago

Describe the bug

When starting to type on a new line of code, there is no Intellisense, only the non-intelligent displaying of a couple words that are in the document, with no information on what type they are, etc. Intellisense DOES appear, and start filtering, if you hit Ctrl-Space to manually invoke Intellisense before typing.

Steps to reproduce

  1. Run dotnet new classlib -lang F# -o FsAutocompleteBug
  2. Start typing on a new line in Library.fs within the automatically shown Say module

Link to sample reproduction

Repository This has some changes as I was trying to test if it showed the stuff within a new type, and had correct type information etc. It did.

Expected behaviour

When typing begins, for a full fuzzy-matched list of accessible symbols to appear, with appropriate icons denoting whether they're variable/namespace etc.

Screenshots

https://user-images.githubusercontent.com/6842867/158601037-4f5087d9-b123-4f65-a3eb-1e344eb30792.mp4

Machine info

Additional context

I wonder if this issue is relevant: https://github.com/fsharp/FsAutoComplete/issues/866 I also only have .NET SDK v6.0.102 installed

Let me know if there's anything you'd like me to do in terms of providing logs etc. I've not provided extension or FsAutocomplete logs before, so you might have to give me guidance on how to do that if you need.

baronfel commented 2 years ago

Completion triggers are mainly configured in FSAC here, and could definitely use some love. I wonder if for the 1 or 2 character case if we don't return useful results, so VSCode is inserting random names that seem relevant from its perspective.

OctarineSourcerer commented 2 years ago

I'm not so familiar with the FSAC configuration, but from a look it seems like . and ' are the trigger characters currently, with a few others bringing up signature help etc? (please correct me if I'm wrong). If so, would definitely advocate for at least alpha-not-numeric characters to trigger autocomplete too, as uh... otherwise you get this issue, where I'd fully expected a list to appear and start filtering, but hadn't.

baronfel commented 2 years ago

There were some enhancements to completion done recently in FSAC here - look for them to come soon in the next release of Ionide.

Krzysztof-Cieslak commented 2 years ago

I believe this was fixed by the linked PR on the FSAC side.