You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a high-level issue to discuss the requirements for supporting IntelliSense in custom extensions, with a particular focus on operations which use an IIntellisenseController (for other IntelliSense commands see #44). The controller works closely with a custom command filter to ensure operations which modify keyboard behavior work properly.
IntelliSense Operations
Code completion (ICompletionSession)
Member info (ISignatureHelpSession)
Quick info (IQuickInfoSession)
Smart tags (ISmartTagSession)
❓ Should a single IIntellisenseController instance handle all of these items?
Code completion
Need to distinguish between the manner in which code completion was instantiated
Triggered by typing Ctrl+Space (Edit.CompleteWord)
Triggered by Edit.ListMembers (like Edit.CompleteWord, but does not automatically commit a unique result)
Automatically triggered by typing a character
❓ Should this further distinguish between context info (e.g. typing the first letter of a variable in the current lexical scope) and member info (e.g. typing a . for member selection)?
Automatically triggered by typing a space (e.g. the space after typing override in C#)
Need to handle code snippets (IVsExpansionManager)
Need to handle the Edit.ToggleCompletionMode command
❓ Need to handle the Edit.OverrideMembers command
Listens to some keystrokes
Handles some keystrokes (i.e. not passed on to the editor)
Member info
Need to distinguish between the manner in which member info was instantiated
Triggered by typing Ctrl+Shift+Space (Edit.ParameterInfo)
Automatically triggered by typing a character (e.g. ()
Listens to keyboard commands, but does not handle any keystrokes
Quick info
❓ Can be triggered by hovering the mouse or Edit.QuickInfo, but do we need to distinguish?
Smart tags
TBD
The text was updated successfully, but these errors were encountered:
This is a high-level issue to discuss the requirements for supporting IntelliSense in custom extensions, with a particular focus on operations which use an
IIntellisenseController
(for other IntelliSense commands see #44). The controller works closely with a custom command filter to ensure operations which modify keyboard behavior work properly.IntelliSense Operations
ICompletionSession
)ISignatureHelpSession
)IQuickInfoSession
)ISmartTagSession
)❓ Should a single
IIntellisenseController
instance handle all of these items?Code completion
.
for member selection)?override
in C#)IVsExpansionManager
)Member info
(
)Quick info
Smart tags
TBD
The text was updated successfully, but these errors were encountered: