dotnet / dotnet/fsharp

Autocompletion always completing keywords after . (VS 2019)

Open
#11,145 3 comments 1 reaction 0 assignees View on GitHub
AI-thinks-windows-only Area-LangService-AutoComplete Bug Impact-Medium
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

Autocompletion seems to want to trigger after I hit the period key, but only if it autocompletes a keyword. An example is if I'm typing a type definition something like so:

```
type foo ()=
member s.
```

At which point, the autocomplete "helpfully" changes it to

```
type foo () =
member static.
```

Since it thinks it the "s" should turn into "static"

As far as I can tell, this only happens if it can change it specifically into a keyword, as opposed to a type name or variable name.

This specific case is particularly annoying since using "s" as the self identifier is canonical F#, and I can't even think of any cases where "static." could ever be valid syntax, but changing "y." to "yield." is also plaguing me as I'm trying to write math libraries where x and y are typical variable names for complex numbers or quaternions (so my intention would be something like y.i or y.r)

Does trying to autocomplete keywords after . is typed make sense under any circumstances whatsoever? I can't think of any valid syntax where a . immediately follows a keyword.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.