OmniSharp / omnisharp-sublime

C# IDE Plugin for Sublime Text 3
http://omnisharp-sublime.readthedocs.org/en/latest/
MIT License
551 stars 64 forks source link

Unable to trigger completions with period alone (have to type first letter of a member) #258

Closed aschuhardt closed 5 years ago

aschuhardt commented 5 years ago

Platform

Type

Checklist

Versions

output of mono --version:

Mono JIT compiler version 5.12.0.301 (tarball Wed Jul 25 15:43:48 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    Interpreter:   yes
    LLVM:          supported, not enabled.
    GC:            sgen (concurrent by default)

output of msbuild /version:

Microsoft (R) Build Engine version 15.6.0.0 ( Thu May 10 14:00:26 UTC 2018) for Mono
Copyright (C) Microsoft Corporation. All rights reserved.

15.6.0.0

Details

In Visual Studio's implementation of Intellisense I can see all of an objects accessible members simply by typing a period after the name of the object.

In OmniSharp Sublime I can only get Intellisense code completions if I begin typing the first letter of a property, method, etc. on an object. I cannot see all of the available members.

We should be able to see all of an object's accessible members simply by typing a trigger character.

How-To

  1. Load a C# file
  2. Instantiate an object myObject
  3. Type myObject. (note the period)
  4. Observe that no completions are shown
  5. Type myObject.T
  6. Observe that, now that you've typed a "T", myObject.ToString() is shown as an available member.
aschuhardt commented 5 years ago

Fixed by adding the following to my application-level user settings:

    "auto_complete_triggers":
    [
        {
            "characters": ".<",
            "selector": "source.cs"
        }
    ]