public Task<bool> ExecuteAsync(ITaskCoverageManager taskCoverageManager, IVsSolutionTestCoverage vsSolutionTestCoverage, IDocumentProvider documentProvider) { string methodName = Method.Identifier.ValueText; RaiseTaskStartedEvent(taskCoverageManager); var documentSyntaxTree = documentProvider.GetSyntaxNodeFromTextSnapshot(TextBuffer.CurrentSnapshot); var methodNode = documentSyntaxTree.DescendantNodes() .OfType<MethodDeclarationSyntax>() .FirstOrDefault(x => x.Identifier.ValueText == methodName); if (methodNode == null) return Task.FromResult(false); Task<bool> task = vsSolutionTestCoverage.CalculateForSelectedMethodAsync(ProjectName, methodNode); var finalTask = task.ContinueWith((x, y) => { if(!x.Result) taskCoverageManager.ReportTaskToRetry(this); RaiseTasCompletedEvent(taskCoverageManager); return x.Result; }, null, TaskSchedulerManager.Current.FromSynchronizationContext()); return finalTask; }
public TaskCoverageManager(ITimer timer, IDocumentProvider documentProvider, IVsSolutionTestCoverage vsSolutionTestCoverage) { _timer = timer; _documentProvider = documentProvider; _tasks = new List<ITaskCoverageInfo>(); _vsSolutionTestCoverage = vsSolutionTestCoverage; }
public Task<bool> ExecuteAsync(ITaskCoverageManager taskCoverageManager, IVsSolutionTestCoverage vsSolutionTestCoverage, IDocumentProvider documentProvider) { taskCoverageManager.RaiseEvent(new ResyncAllStarted()); var task = vsSolutionTestCoverage.CalculateForAllDocumentsAsync(); var finalTask = task.ContinueWith((finishedTask, y) => { taskCoverageManager.RaiseEvent(new ResyncAllCompleted()); return finishedTask.Result; }, null, TaskSchedulerManager.Current.FromSynchronizationContext()); return finalTask; }
public FileImportOperation(Tenant tenant, IDocumentProvider docProvider, List<DataToImport> files, object parentId, bool overwrite, string folderName) : base(tenant, null, null) { Id = Owner.ToString() + OperationType.ToString(); Source = docProvider.Name; _docProvider = docProvider; _files = files ?? new List<DataToImport>(); _parentId = parentId; _overwrite = overwrite; _folderName = folderName; var toFolderObj = Global.DaoFactory.GetFolderDao().GetFolder(_parentId); if (toFolderObj != null && toFolderObj.RootFolderType == FolderType.BUNCH) _markAsNewRecipientIDs = Global.GetProjectTeam(toFolderObj).ToList(); }
public Task<bool> ExecuteAsync(ITaskCoverageManager taskCoverageManager, IVsSolutionTestCoverage vsSolutionTestCoverage, IDocumentProvider documentProvider) { taskCoverageManager.RaiseEvent(new DocumentCoverageTaskStartedArgs(DocumentPath)); string documentContent = TextBuffer.CurrentSnapshot.GetText(); var task = vsSolutionTestCoverage.CalculateForDocumentAsync(ProjectName, DocumentPath, documentContent); var finalTask = task.ContinueWith((finishedTask, y) => { if (finishedTask.Result) taskCoverageManager.Tasks.RemoveAll(t => IsTaskInDocument(t, DocumentPath)); else taskCoverageManager.ReportTaskToRetry(this); taskCoverageManager.RaiseEvent(new DocumentCoverageTaskCompletedArgs(DocumentPath)); return finishedTask.Result; }, null, TaskSchedulerManager.Current.FromSynchronizationContext()); return finalTask; }
public BooleanSearchProgram(string inputDirectory, IDocumentProvider documentProvider) { _inputDirectory = inputDirectory; _documentProvider = documentProvider; }
public SchoolDataContext(IDocumentProvider provider, IServiceProvider serviceProvider) : base(provider, serviceProvider) { }
public UnitUnderTestStepThree(IDocumentProvider documentProvider) { this.documentProvider = documentProvider; }
public ContextBase(IDocumentProvider docs, IRuleDataProvider ruleData, IParametersProvider<IRuleContext> @params){ this.docs = docs; this.ruleData = ruleData; this.@params = @params; }
public SmartVisualStudio(IObjectSpace os, CsharpCode value) : this() { this._codeObject = value; CreateEditor(); if (value != null) { if (value.Workspace != null) { this._workspace = (SmartIDEWorkspace) value.Workspace; } else { this._workspace = SmartIDEWorkspace.GetIDE(os); } this._document = value.Provider; } #region 预设置智能感知项目,如果是一个方法,就需要先看一下方法中可以用的智能感知条目列表 if (_document is IPartCodeProvider && _document!=null) { var code = value?.Code + ""; IList<ICompletionData> list = new List<ICompletionData>(); _workspace.GetIntellisenseItems(_document, 0, true, code, null, list); } if (value == null) { Editor.IsEnabled = false; } #endregion #region 设置环境 if (value != null) { tabSolution.Visibility = value.ShowSolutionFiles ? DevExpress.XtraBars.Docking.DockVisibility.Visible : DevExpress.XtraBars.Docking.DockVisibility.Hidden; if (value.ShowSolutionFiles) { solutionTreeView.Nodes.Clear(); var solution = solutionTreeView.Nodes.Add("Solution"); foreach (var item in _workspace.Workspace.CurrentSolution.Projects) { var projectNode = solution.Nodes.Add(item.Name, item.Name); projectNode.Tag = item; var references = projectNode.Nodes.Add("引用", "引用"); foreach (var refence in item.MetadataReferences) { references.Nodes.Add(refence.Display); } foreach (var doc in item.Documents.OrderBy(x=>x.Name)) { var docNode = projectNode.Nodes.Add(doc.Name, doc.Name); docNode.Tag = doc; } } } if (value.Diagnostics != null && value.Diagnostics.Count > 0) { this.SetDiagnosticMessage(value.Diagnostics); } } #endregion }
public string GetText(IDocumentProvider doc) { return Documents[doc.GetDocumentGuid()].GetTextAsync().Result.ToString(); }
/// <summary> /// ȡ�ù��λ�õĿ������ܸ�֪��Ŀ /// </summary> /// <param name="bodytext">����</param> /// <param name="logic">��Ӧ��Ŀ</param> /// <param name="index">�������λ��</param> /// <returns>�������ܸ�֪��Ŀ</returns> public IEnumerable<ISymbol> GetRecommendedSymbolsAtPositionAsync(string bodytext, IDocumentProvider logic, int index) { if (logic is IPartCodeProvider) { var doc = Documents[logic.GetDocumentGuid()]; bodytext = (logic as IPartCodeProvider).ReplaceNewCode(doc.GetTextAsync().Result.ToString(), bodytext); //var doc = Documents[method.BusinessObject.Oid]; //var newText = method.ReplaceNewCode(doc.GetTextAsync().Result.ToString(), bodytext); //UpdateText(newText, method.BusinessObject); //var semanticModel = SemanticModels[method.BusinessObject.Oid]; //return Recommender.GetRecommendedSymbolsAtPositionAsync(semanticModel, pos, Workspace).Result; } UpdateText(bodytext, logic); if (logic is IPartCodeProvider) { var define = (logic as IPartCodeProvider).DefaultLocation; index = bodytext.IndexOf(define) + define.Length + index + 1; } var semanticModel = SemanticModels[logic.GetDocumentGuid()]; return Recommender.GetRecommendedSymbolsAtPositionAsync(semanticModel, index, Workspace).Result; }
public void GetIntellisenseItems(IDocumentProvider document, int cartIndex, bool needKeyword, string code, string inputed, IList<ICompletionData> result) { IEnumerable<ISymbol> symbols = GetRecommendedSymbolsAtPositionAsync(code, document, cartIndex); ProcessSymbols(needKeyword, symbols, inputed, result); }
public IEnumerable<Diagnostic> GetDiagnostics(string text, IDocumentProvider method) { if (method is IPartCodeProvider) { var doc = Documents[method.GetDocumentGuid()]; text = (method as IPartCodeProvider).ReplaceNewCode(doc.GetTextAsync().Result.ToString(), text); } UpdateText(text, method); var rst = SemanticModels[method.GetDocumentGuid()].GetDiagnostics(); return rst; }
public void Setup() { _vsSolutionTestCoverageMock = Substitute.For<IVsSolutionTestCoverage>(); _timerMock = new TimerMock(); _documentProviderMock = Substitute.For<IDocumentProvider>(); var textSnapshotMock = Substitute.For<ITextSnapshot>(); _textBufferMock = Substitute.For<ITextBuffer>(); _textBufferMock.CurrentSnapshot.Returns(textSnapshotMock); _sut = new TaskCoverageManager(_timerMock, _documentProviderMock, _vsSolutionTestCoverageMock); var taskSchedulerMock = Substitute.For<ITaskSchedulerManager>(); SynchronizationContext.SetSynchronizationContext(new TestSyncContext()); var synchronizationTaskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); taskSchedulerMock.FromSynchronizationContext().Returns(synchronizationTaskScheduler); TaskSchedulerManager.Current = taskSchedulerMock; }
public FileImportOperation(Tenant tenant, IDocumentProvider docProvider, List<DataToImport> files, object parentId, bool overwrite, string folderName, Dictionary<string, string> httpRequestHeaders) : this(tenant, docProvider, files, parentId, overwrite, folderName) { this.httpRequestHeaders = httpRequestHeaders; }
private ItemList<FileOperationResult> ImportDocuments(IDocumentProvider provider, List<DataToImport> documents, String parentId, String overwriteStr, String folderName) { bool overwrite; bool.TryParse(overwriteStr, out overwrite); var import = new FileImportOperation( CoreContext.TenantManager.GetCurrentTenant(), provider, documents, parentId, overwrite, folderName); lock (Tasks) { var oldTask = Tasks.GetStatus(import.Id.ToString()); ErrorIf(oldTask != null && !oldTask.IsCompleted, FilesCommonResource.ErrorMassage_ManyImports, true); Tasks.Add(import); } return GetTasksStatuses(); }
private void CreateDocument(IDocumentProvider documentProvider) { var doc = Workspace.AddDocument(ModuleProject.Id, documentProvider.GetFileName() + ".cs", SourceText.From(documentProvider.GetCode(),Encoding.UTF8)); var updated = Workspace.TryApplyChanges(doc.Project.Solution); Debug.WriteLine("Updated:" + updated); Documents.Add(documentProvider.GetDocumentGuid(), doc); SemanticModels.Add(documentProvider.GetDocumentGuid(), doc.GetSemanticModelAsync().Result); }
public CsharpCode(string value,IDocumentProvider documentProvider) { this.Code = value; this.Provider = documentProvider; }
private void UpdateText(string text, IDocumentProvider doc) { SourceText sourceText = SourceText.From(text,Encoding.UTF8); var document = Documents[doc.GetDocumentGuid()]; document = document.WithText(sourceText); var rs = Workspace.TryApplyChanges(document.Project.Solution); Debug.WriteLine("enter updated:" + rs); //��Ҫ������������Ŀ���ĵ�ʵ�����仯�ˣ��������±��� document = this.ModuleProject.Documents.First(x => x.Id == document.Id); Documents[doc.GetDocumentGuid()] = document; SemanticModels[doc.GetDocumentGuid()] = document.GetSemanticModelAsync().Result; }
public RosterDocumentContext(IDocumentProvider provider) : base(provider) { }
protected AbstractController(IThreadingContext threadingContext, ITextView textView, ITextBuffer subjectBuffer, IIntelliSensePresenter <TPresenterSession, TEditorSession> presenter, IAsynchronousOperationListener asyncListener, IDocumentProvider documentProvider, string asyncOperationId) : base(threadingContext) { this.TextView = textView; this.SubjectBuffer = subjectBuffer; this.Presenter = presenter; _asyncListener = asyncListener; this.DocumentProvider = documentProvider; _asyncOperationId = asyncOperationId; this.TextView.Closed += OnTextViewClosed; // Caret position changed only fires if the caret is explicitly moved. It doesn't fire // when the caret is moved because of text change events. this.TextView.Caret.PositionChanged += this.OnCaretPositionChanged; this.TextView.TextBuffer.PostChanged += this.OnTextViewBufferPostChanged; }