public static Mock<IVsTextLineMarker> CreateVsTextLineMarker( TextSpan span, MARKERTYPE type, MockRepository factory = null) { return CreateVsTextLineMarker(span, (int)type, factory); }
public static Mock <IVsTextLineMarker> CreateVsTextLineMarker( TextSpan span, MARKERTYPE type, MockRepository factory = null) { return(CreateVsTextLineMarker(span, (int)type, factory)); }
internal static ErrorTask CreateErrorTask( string document, string errorMessage, TextSpan textSpan, TaskErrorCategory taskErrorCategory, IVsHierarchy hierarchy, uint itemID, MARKERTYPE markerType) { ErrorTask errorTask = null; IOleServiceProvider oleSp = null; hierarchy.GetSite(out oleSp); IServiceProvider sp = new ServiceProvider(oleSp); // see if Document is open IVsTextLines buffer = null; var docData = VSHelpers.GetDocData(sp, document); if (docData != null) { buffer = VSHelpers.GetVsTextLinesFromDocData(docData); } if (buffer != null) { errorTask = new EFModelDocumentTask(sp, buffer, markerType, textSpan, document, itemID, errorMessage, hierarchy); errorTask.ErrorCategory = taskErrorCategory; } else { errorTask = new EFModelErrorTask( document, errorMessage, textSpan.iStartLine, textSpan.iEndLine, taskErrorCategory, hierarchy, itemID); } return(errorTask); }
internal static ErrorTask CreateErrorTask( string document, string errorMessage, TextSpan textSpan, TaskErrorCategory taskErrorCategory, IVsHierarchy hierarchy, uint itemID, MARKERTYPE markerType) { ErrorTask errorTask = null; IOleServiceProvider oleSp = null; hierarchy.GetSite(out oleSp); IServiceProvider sp = new ServiceProvider(oleSp); // see if Document is open IVsTextLines buffer = null; var docData = VSHelpers.GetDocData(sp, document); if (docData != null) { buffer = VSHelpers.GetVsTextLinesFromDocData(docData); } if (buffer != null) { errorTask = new EFModelDocumentTask(sp, buffer, markerType, textSpan, document, itemID, errorMessage, hierarchy); errorTask.ErrorCategory = taskErrorCategory; } else { errorTask = new EFModelErrorTask( document, errorMessage, textSpan.iStartLine, textSpan.iEndLine, taskErrorCategory, hierarchy, itemID); } return errorTask; }
protected XmlModelDocumentTask( IServiceProvider site, IVsTextLines buffer, MARKERTYPE markerType, TextSpan span, string document, uint itemID, string errorMessage, IVsHierarchy hierarchy) : base(site, buffer, markerType, span, document) { _serviceProvider = site; _itemID = itemID; Text = errorMessage; HierarchyItem = hierarchy; }
internal DocumentTask(IServiceProvider site, IVsTextLines buffer, MARKERTYPE markerType, TextSpan span, string fileName, string subcategory) { this.site = site; this.fileName = fileName; this.subcategory = subcategory; this.span = span; this.Document = this.fileName; this.Column = span.iStartIndex; this.Line = span.iStartLine; this.buffer = buffer; this.markerType = markerType; }
private long inner_IdentifiedWriteXml(XmlWriter writer) { MARKERTYPE type = m_Marker_ref.p_Type; switch (type) { case MARKERTYPE.RECTANGLE: RectMarker rectMarker = (RectMarker)m_Marker_ref; rectMarker.WriteXml(writer); break; default: return(-2); } return(0); }
/// <include file='doc\DocumentTask.uex' path='docs/doc[@for="DocumentTask.DocumentTask"]/*' /> public DocumentTask(IServiceProvider site, IVsTextLines buffer, MARKERTYPE markerType, TextSpan span, string fileName) { this.site = site; this.fileName = fileName; this.span = span; this.Document = this.fileName; this.Column = span.iStartIndex; this.Line = span.iStartLine; if (markerType != MARKERTYPE.MARKER_OTHER_ERROR) { // create marker so task item navigation works even after file is edited. IVsTextLineMarker[] marker = new IVsTextLineMarker[1]; NativeMethods.ThrowOnFailure(buffer.CreateLineMarker((int)markerType, span.iStartLine, span.iStartIndex, span.iEndLine, span.iEndIndex, this, marker)); this.textLineMarker = marker[0]; this.markerValid = true; } }
private void OnOpenFile(IVsTextLines textLines, bool refresh) { if (!isDeleted && marker == null && textLines != null) { Common.Trace("Task.OnOpenFile: " + location); const MARKERTYPE MARKER_COMPILE_WARNING = (MARKERTYPE)11; MARKERTYPE mtype; switch (markerType) { case TaskMarker.CodeSense: mtype = MARKERTYPE.MARKER_CODESENSE_ERROR; break; case TaskMarker.Error: mtype = MARKERTYPE.MARKER_COMPILE_ERROR; break; case TaskMarker.Warning: mtype = MARKER_COMPILE_WARNING; break; case TaskMarker.Other: mtype = MARKERTYPE.MARKER_OTHER_ERROR; break; case TaskMarker.Invisible: mtype = MARKERTYPE.MARKER_INVISIBLE; break; default: if ((int)markerType < (int)MARKERTYPE.DEF_MARKER_COUNT) { mtype = (MARKERTYPE)markerType; } else { mtype = MARKERTYPE.MARKER_INVISIBLE; } break; // still create a marker to track position changes } IVsTextLineMarker[] markers = new IVsTextLineMarker[1]; TextSpan ts = location.TextSpan; IVsTextMarkerClient client = (taskManager.TrackMarkerEvents ? this : null); textLines.CreateLineMarker((int)mtype , ts.iStartLine, ts.iStartIndex, ts.iEndLine, ts.iEndIndex , client, markers); marker = markers[0]; if (marker == null) { Common.Trace("Task: failed to create marker at " + location); } } }
// <summary> // This method will log errors to the "Wizard" Multi-doc error list. // </summary> private static void LogWizardErrors(IEnumerable <EdmSchemaError> errors, ProjectItem projectItem, MARKERTYPE markerType) { if (null == errors) { throw new ArgumentNullException("errors"); } if (null == projectItem) { throw new ArgumentNullException("projectItem"); } if (PackageManager.Package != null) { var hierarchy = VsUtils.GetVsHierarchy(projectItem.ContainingProject, Services.ServiceProvider); var itemId = VsUtils.GetProjectItemId(hierarchy, projectItem); var errorList = WizardErrorList; var errorCount = 0; foreach (var error in errors) { // only display the first 100 errors. VS gets really slow if you try to display more if (errorCount++ > 99) { break; } var category = TaskErrorCategory.Message; if (error.Severity == EdmSchemaErrorSeverity.Error) { category = TaskErrorCategory.Error; } else if (error.Severity == EdmSchemaErrorSeverity.Warning) { category = TaskErrorCategory.Message; } string filePath = null; var fullPathProperty = projectItem.Properties.Item("FullPath"); if (fullPathProperty != null) { filePath = fullPathProperty.Value as String; } if (filePath == null) { filePath = projectItem.Name; } var textSpan = new TextSpan(); textSpan.iStartLine = error.Line; textSpan.iStartIndex = error.Column; textSpan.iEndLine = error.Line + 1; textSpan.iEndIndex = error.Column + 1; errorList.AddItem( EFModelErrorTaskFactory.CreateErrorTask(filePath, error.Message, textSpan, category, hierarchy, itemId, markerType)); } } }
ErrorTask CreateErrorTask(BuildEventArgs errorEvent, TextSpan span, string file, MARKERTYPE marker, TaskErrorCategory category, IVsTextLines buffer) { if (buffer != null) { return(new DocumentTask(serviceProvider, buffer, marker, span, file)); } else { return(new ErrorTask()); } }
// helper methods. public DocumentTask CreateErrorTaskItem(TextSpan span, string filename, string subcategory, string message, TaskPriority priority, TaskCategory category, MARKERTYPE markerType, TaskErrorCategory errorCategory) { // create task item //TODO this src obj may not be the one matching filename. //find the src for the filename only then call ValidSpan. //Debug.Assert(TextSpanHelper.ValidSpan(this, span)); DocumentTask taskItem = new DocumentTask(this.service.Site, this.textLines, markerType, span, filename, subcategory); taskItem.Priority = priority; taskItem.Category = category; taskItem.ErrorCategory = errorCategory; message = NewlineifyErrorString(message); taskItem.Text = message; taskItem.IsTextEditable = false; taskItem.IsCheckedEditable = false; return taskItem; }
public static IVsTextLineMarker CreateMarker( IVsTextLines textLines, TextSpan span, MARKERTYPE mt, string tipText) { IVsTextLineMarker marker = null; TextMarkerClient textMarkerClient = new TextMarkerClient( tipText ); textLines.CreateLineMarker((int)mt, span.iStartLine, span.iStartIndex, span.iEndLine, span.iEndIndex, textMarkerClient, out marker); return marker; }
public static IVsTextLineMarker CreateMarker(IVsTextLines textLines, TextSpan span, MARKERTYPE mt, string tipText) { IVsTextLineMarker marker = null; TextMarkerClient textMarkerClient = new TextMarkerClient(tipText); textLines.CreateLineMarker((int)mt, span.iStartLine, span.iStartIndex, span.iEndLine, span.iEndIndex, textMarkerClient, out marker); return(marker); }
// helper methods. /// <include file='doc\Source.uex' path='docs/doc[@for="Source.CreateErrorTaskItem"]/*' /> public virtual DocumentTask CreateErrorTaskItem(TextSpan span, string filename, string message, TaskPriority priority, TaskCategory category, MARKERTYPE markerType, TaskErrorCategory errorCategory) { // create task item //TODO this src obj may not be the one matching filename. //find the src for the filename only then call ValidSpan. //Debug.Assert(TextSpanHelper.ValidSpan(this, span)); DocumentTask taskItem = CreateErrorTaskItem(span, markerType, filename); taskItem.Priority = priority; taskItem.Category = category; taskItem.ErrorCategory = errorCategory; taskItem.Text = message; taskItem.IsTextEditable = false; taskItem.IsCheckedEditable = false; return taskItem; }
ErrorTask CreateErrorTask(BuildEventArgs errorEvent, TextSpan span, string file, MARKERTYPE marker, TaskErrorCategory category, IVsTextLines buffer) { if(buffer != null) return new DocumentTask(serviceProvider, buffer, marker, span, file); else return new ErrorTask(); }
internal EFModelDocumentTask( IServiceProvider site, IVsTextLines buffer, MARKERTYPE markerType, TextSpan span, string document, uint itemID, string errorMessage, IVsHierarchy hierarchy) : base(site, buffer, markerType, span, document, itemID, errorMessage, hierarchy) { }
public static IVsTextLineMarker CreateMarker(IVsTextLines textLines, TextSpan span, MARKERTYPE mt, string tipText) { IVsTextLineMarker[] marker = new IVsTextLineMarker[1]; TextMarkerClient textMarkerClient = new TextMarkerClient(tipText); // bugbug: the following comment in the method CEnumMarkers::Initialize() of // ~\env\msenv\textmgr\markers.cpp means that tool tips on empty spans // don't work: // "VS7 #23719/#15312 [CFlaat]: exclude adjacent markers when the target span is non-empty" // So I wonder if we should debug assert on that or try and modify the span // in some way to make it non-empty... NativeMethods.ThrowOnFailure(textLines.CreateLineMarker((int)mt, span.iStartLine, span.iStartIndex, span.iEndLine, span.iEndIndex, textMarkerClient, marker)); return(marker[0]); }
/// <include file='doc\Source.uex' path='docs/doc[@for="Source.CreateErrorTaskItem2"]/*' /> public virtual DocumentTask CreateErrorTaskItem(TextSpan span, MARKERTYPE markerType, string filename) { return new DocumentTask(this.service.Site, this.textLines, markerType, span, filename); }