fsharp icon indicating copy to clipboard operation
fsharp copied to clipboard

[Just for running test] Some auto completion improvement

Open ijklam opened this issue 1 year ago • 2 comments

Description

  • Support #16562 for C# style extension methods

  • When caret is after = or <>, show static field or property of the former expr type. These static things is of same type with the former expr.

图片

  • Complete the parameter list of the overrided method and call base method

图片

Current questions:

  1. Cannot trigger the new completion context in many case
  • When the = expr not the last expr: 图片

  • Inside the if .. then .. (but it can trigger if there is no then) 图片

  • In arguments list 图片

  • There's some thing after the operator 图片

  1. Can only trigger completion when the caret is right after the operator, and there is a space right after the operator

图片

~3. Properties cannot be distinguished from methods~

图片

  1. Completions in ~interface implementation or~ obj expr will not exclude items already overrided

~7. Completions in interface implementation will also give overridable members from obj~

图片

~8. Completions doesnot insert correct type when the parameter list containing generic~

图片

  1. Extension methods from getAllSymbols maybe duplicated

图片

  1. Extension methods from getAllSymbols is not detailed

Extensions from opened namespace: 图片

Extensions from getAllSymbols: 图片

Checklist

  • [ ] Test cases added
  • [ ] Performance benchmarks added in case of performance changes
  • [ ] Release notes entry updated:

ijklam avatar May 25 '24 16:05 ijklam

:heavy_exclamation_mark: Release notes required

@Tangent-90,

[!CAUTION] No release notes found for the changed paths (see table below).

Please make sure to add an entry with an informative description of the change as well as link to this pull request, issue and language suggestion if applicable. Release notes for this repository are based on Keep A Changelog format.

The following format is recommended for this repository:

* <Informative description>. ([PR #XXXXX](https://github.com/dotnet/fsharp/pull/XXXXX))

See examples in the files, listed in the table below or in th full documentation at https://fsharp.github.io/fsharp-compiler-docs/release-notes/About.html.

If you believe that release notes are not necessary for this PR, please add NO_RELEASE_NOTES label to the pull request.

You can open this PR in browser to add release notes: open in github.dev

Change path Release notes path Description
src/Compiler docs/release-notes/.FSharp.Compiler.Service/8.0.400.md No release notes found or release notes format is not correct
vsintegration/src docs/release-notes/.VisualStudio/17.11.md No release notes found or release notes format is not correct

github-actions[bot] avatar May 25 '24 16:05 github-actions[bot]

I think I need some help to solve these questions.

ijklam avatar May 26 '24 11:05 ijklam