コード例 #1
0
        public static void DoTriggerCompletion(IntellisenseController controller, CompletionInfoType infoType, bool signatureHelpOnly, IntellisenseInvocationType invocationType)
        {
            Contract.Requires <ArgumentNullException>(controller != null, "controller");

            var           completionInfo = controller.CompletionInfo;
            ITextView     textView       = controller.TextView;
            SnapshotPoint?point          = textView.Caret.Position.Point.GetPoint(textView.TextBuffer, PositionAffinity.Predecessor);

            if (point.HasValue)
            {
                ITrackingPoint trackingPoint = textView.TextBuffer.CurrentSnapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive);
                if (!signatureHelpOnly)
                {
                    controller.TriggerCompletion(trackingPoint, infoType, invocationType);
                    DoCallMatch(controller);
                }

                if (signatureHelpOnly /*|| (completionInfo.CompletionFlags & CompletionFlags.HasParameterInfo) != 0*/)
                {
                    controller.TriggerSignatureHelp(trackingPoint);
                }

                if (controller.CompletionSession != null)
                {
                    controller.IntellisenseSessionStack.MoveSessionToTop(controller.CompletionSession);
                }
            }
        }
コード例 #2
0
        public static void DoTriggerCompletion(IntellisenseController controller, CompletionInfoType infoType, bool signatureHelpOnly, IntellisenseInvocationType invocationType)
        {
            Contract.Requires<ArgumentNullException>(controller != null, "controller");

            var completionInfo = controller.CompletionInfo;
            ITextView textView = controller.TextView;
            SnapshotPoint? point = textView.Caret.Position.Point.GetPoint(textView.TextBuffer, PositionAffinity.Predecessor);
            if (point.HasValue)
            {
                ITrackingPoint trackingPoint = textView.TextBuffer.CurrentSnapshot.CreateTrackingPoint(point.Value.Position, PointTrackingMode.Positive);
                if (!signatureHelpOnly)
                {
                    controller.TriggerCompletion(trackingPoint, infoType, invocationType);
                    DoCallMatch(controller);
                }

                if (signatureHelpOnly /*|| (completionInfo.CompletionFlags & CompletionFlags.HasParameterInfo) != 0*/)
                {
                    controller.TriggerSignatureHelp(trackingPoint);
                }

                if (controller.CompletionSession != null)
                {
                    controller.IntellisenseSessionStack.MoveSessionToTop(controller.CompletionSession);
                }
            }
        }