This page is likely outdated. Visit the new documentation for updated content.

! as code completion closing key

Status Owner Importance Complexity MD Version
Completed mkrueger Normal Medium 2h

We should have intelligent ‘!’ as closing key.

For example:

if (myObj.$<- code completion In the list is: GetIsValid ()

The user hits ‘!’ it should be changed to if it’s the only option:

if (!myObj.GetIsValid ()$

if GetIsValid has overloads or contains parameters:

if (!myObj.GetIsValid ($

The ‘!’ should be inserted automatically to negate the expression.

Custom Filtering/Sorting/Grouping

Status Owner Importance Complexity MD Version
Pending Normal Medium

Buttons along the bottom of the completion list for toggling custom group/filter modes:

  • group by inheritance level, for example a GtkButton would show:
    • [GtkButton]
      • Text
    • [GtkContainer]
      • ContainerMethod1
      • ContainerMethod2
    • [GtkWidget]
      • WidgetMethod1
      • WidgetMethod2
    • [GtkObject]
      • GtkObjectMethod1
    • [System.Object]
      • Equals
      • GethashCode
  • The captions should be present, but not selectable.
  • only show commonly used items (VB has this)

Grouping would interfere somewhat with the keyboard matching for the normal filter/sort behaviour, so would need some tuning to make it usable. Perhaps when grouping is active, the keyboard matching could only match within the current group, and there could be keybindings for jumping between groups, maybe ctrl-up/ctrl-down.

It would also be important to have keyboard shortcuts for these buttons - though maybe just alt-mnemonics would do.

Other options, but these need to be evaluated based on actual requirements and interest from the community and not just dump them in there:

  • group by item type (fields/methods/properties/types/templates/keywords)
  • group by accessibility

Weight matches by History

Status Owner Importance Complexity MD Version
Pending Normal Medium

Restore the feature where history is taken into account when weighting matches in the completion list against what the user’s typed.