コード例 #1
0
        private void BrowseForStrings(EnvDTE.Window window,
                                      TextPoint startPoint,
                                      TextPoint endPoint)
        {
            Debug.Print("\n> BrowseForStrings()");

            if (m_IsBrowsing)
            {
                Debug.Print("> BrowseForStrings() - cancelled (already running)");
                return;
            } //if

            m_IsBrowsing = true;

            bool isFullDocument = startPoint.AtStartOfDocument && endPoint.AtEndOfDocument;

            if (isFullDocument)
            {
                ClearStringResources();
            }

            //OutlineCode();

            this.InitProgress((double)(endPoint.Line - startPoint.Line + 1));

#if DEBUG
            m_sw = System.Diagnostics.Stopwatch.StartNew();
#endif

#if notyet
            if (!m_Window.Caption.EndsWith(".xaml"))
            {
                Parser.ParseForStrings(m_Window, m_StringResources, m_Settings, this.SetProgress, ParsingCompleted,
                                       startPoint, endPoint, m_LastDocumentLength);
            }
            else
            {
                XamlParser.ParseForStrings(m_Window, m_StringResources, m_Settings, this.SetProgress, ParsingCompleted,
                                           startPoint, endPoint, m_LastDocumentLength);
            }
#else
            Parser.ParseForStrings(m_Window, m_StringResources, m_Settings, this.SetProgress, ParsingCompleted,
                                   startPoint, endPoint, m_LastDocumentLength);
#endif

            //store for next operation (moving locations)
            m_LastDocumentLength = m_TextDocument.EndPoint.Line;

            Debug.Print("> BrowseForStrings() - ended\n");
        }