예제 #1
0
        private bool GetSource(IOleServiceProvider docViewService)
        {
            Guid languageServiceGuid;

            this.textEditorBuffer.GetLanguageServiceID(out languageServiceGuid);
            if (languageServiceGuid != VisualStudioDocument.xmlLanguageServiceGuid)
            {
                return(false);
            }

            //IOleServiceProvider docViewService = (IOleServiceProvider)docViewServiceObject;
            IntPtr ptr;
            Guid   guid = VisualStudioDocument.xmlLanguageServiceGuid;
            Guid   iid  = typeof(IVsLanguageInfo).GUID;

            if (!ErrorHandler.Succeeded(docViewService.QueryService(ref guid, ref iid, out ptr)))
            {
                return(false);
            }

            this.currentDocumentLanguageInfo = (IVsLanguageInfo)Marshal.GetObjectForIUnknown(ptr);
            Marshal.Release(ptr);

            LanguageService langsvc = this.currentDocumentLanguageInfo as LanguageService;

            this.currentSource = langsvc.GetSource(this.textEditorBuffer);
            return(true);
        }
예제 #2
0
        private bool GetSource(IOleServiceProvider docViewService)
        {
            Guid languageServiceGuid;
            this.textEditorBuffer.GetLanguageServiceID(out languageServiceGuid);
            if (languageServiceGuid != VisualStudioDocument.xmlLanguageServiceGuid)
            {
                return false;
            }

            //IOleServiceProvider docViewService = (IOleServiceProvider)docViewServiceObject;
            IntPtr ptr;
            Guid guid = VisualStudioDocument.xmlLanguageServiceGuid;
            Guid iid = typeof(IVsLanguageInfo).GUID;
            if (!ErrorHandler.Succeeded(docViewService.QueryService(ref guid, ref iid, out ptr)))
            {
                return false;
            }

            this.currentDocumentLanguageInfo = (IVsLanguageInfo)Marshal.GetObjectForIUnknown(ptr);
            Marshal.Release(ptr);

            LanguageService langsvc = this.currentDocumentLanguageInfo as LanguageService;
            this.currentSource = langsvc.GetSource(this.textEditorBuffer);
            return true;
        }