/// <summary> /// Start continuous background compilation on a newly opened file /// </summary> public void OpenSourceFile(string fileName, string sourceText) { ITextDocument initialTextDocumentLines = new ReadOnlyTextDocument(fileName, compilationProject.Encoding, compilationProject.ColumnsLayout, sourceText); FileCompiler fileCompiler = new FileCompiler(initialTextDocumentLines, compilationProject.SourceFileProvider, compilationProject, compilationProject.CompilationOptions, false); fileCompiler.CompilationResultsForProgram.UpdateTokensLines(); lock (OpenedFileCompilers) { OpenedFileCompilers.Add(fileName, fileCompiler); } fileCompiler.CompilationResultsForProgram.SetOwnerThread(Thread.CurrentThread); fileCompiler.StartContinuousBackgroundCompilation(200,500,1000,3000); }