示例#1
0
        void m_findEvents_FindDone(EnvDTE.vsFindResult Result, bool Cancelled)
        {
            var dte = (EnvDTE.DTE)ServiceProvider.GetService(typeof(EnvDTE.DTE));
            // Get search term, window location, etc...;
            var x    = dte.Find.FindWhat;
            var guid = dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults1 ?
                       "{0F887920-C2B6-11D2-9375-0080C747D9A0}" : "{0F887921-C2B6-11D2-9375-0080C747D9A0}";

            var findWindow = dte.Windows.Item(guid);
            var selection  = findWindow.Selection as TextSelection;
            // Get search text results;
            var endPoint = selection.AnchorPoint.CreateEditPoint();

            endPoint.EndOfDocument();
            var text = endPoint.GetLines(1, endPoint.Line);
        }
示例#2
0
        void m_findEvents_FindDone(EnvDTE.vsFindResult Result, bool Cancelled)
        {
            try
            {
                // Get search term, window location, etc...;
                var findWhat = m_dte.Find.FindWhat;
                var guid     = m_dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults1 ?
                               "{0F887920-C2B6-11D2-9375-0080C747D9A0}" : "{0F887921-C2B6-11D2-9375-0080C747D9A0}";
                // magic numbers: http://dotneteers.net/blogs/divedeeper/archive/2009/02/02/LearnVSXNowPart41.aspx

                //var findWindow = m_dte.Windows.Item(guid);
                var findWindow = GetSearchWindow(new Guid(guid));
                if (m_dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults1)
                {
                    m_findWindow1 = findWindow;
                }
                if (m_dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults2)
                {
                    m_findWindow2 = findWindow;
                }

                var selection = findWindow.Selection as ITextSelection;

                // Get search text results;
                //var endPoint = selection.AnchorPoint.CreateEditPoint();
                //endPoint.EndOfDocument();
                //var text = endPoint.GetLines(1, endPoint.Line);

                // New style window (VSX)
                var text = selection.Start.Position.Snapshot.GetText(0, selection.Start.Position.Snapshot.Length);

                if (text.Length > 3999)
                {
                    text = text.Substring(0, 3999);
                }

                //var search = new SearchEvent() { FindWhat = findWhat, SearchResults = text };
                //m_logger.LogEvent(m_database, search);

                // try listen to click events
                var viz = findWindow.VisualElement as Control;
                if (viz != null)
                {
                    if (m_dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults1)
                    {
                        viz.MouseDoubleClick -= viz_MouseDoubleClickFind1;
                        viz.MouseDoubleClick += viz_MouseDoubleClickFind1;
                        Find1SearchTerm       = findWhat;
                    }
                    if (m_dte.Find.ResultsLocation == vsFindResultsLocation.vsFindResults2)
                    {
                        viz.MouseDoubleClick -= viz_MouseDoubleClickFind1;
                        viz.MouseDoubleClick += viz_MouseDoubleClickFind2;
                        Find2SearchTerm       = findWhat;
                    }
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
示例#3
0
 //FindEvents
 public void FindDone(EnvDTE.vsFindResult result, bool cancelled)
 {
     _outputWindowPane.OutputString("FindEvents, FindDone\n");
 }
示例#4
0
 private void FindEventsClass_FindDone(EnvDTE.vsFindResult Result, bool Cancelled)
 {
     _clippy.StartAnimation(ClippyAnimation.Searching, true);
 }