re-order file setting logic
This commit is contained in:
@@ -167,17 +167,18 @@ public partial class SharpIdeCodeEdit : CodeEdit
|
|||||||
{
|
{
|
||||||
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding); // get off the UI thread
|
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding); // get off the UI thread
|
||||||
_currentFile = file;
|
_currentFile = file;
|
||||||
var fileContents = await File.ReadAllTextAsync(_currentFile.Path);
|
var readFileTask = File.ReadAllTextAsync(_currentFile.Path);
|
||||||
await this.InvokeAsync(() =>
|
|
||||||
{
|
|
||||||
_fileChangingSuppressBreakpointToggleEvent = true;
|
|
||||||
SetText(fileContents);
|
|
||||||
_fileChangingSuppressBreakpointToggleEvent = false;
|
|
||||||
});
|
|
||||||
var syntaxHighlighting = RoslynAnalysis.GetDocumentSyntaxHighlighting(_currentFile);
|
var syntaxHighlighting = RoslynAnalysis.GetDocumentSyntaxHighlighting(_currentFile);
|
||||||
var razorSyntaxHighlighting = RoslynAnalysis.GetRazorDocumentSyntaxHighlighting(_currentFile);
|
var razorSyntaxHighlighting = RoslynAnalysis.GetRazorDocumentSyntaxHighlighting(_currentFile);
|
||||||
var diagnostics = RoslynAnalysis.GetDocumentDiagnostics(_currentFile);
|
var diagnostics = RoslynAnalysis.GetDocumentDiagnostics(_currentFile);
|
||||||
await Task.WhenAll(syntaxHighlighting, razorSyntaxHighlighting);
|
var setTextTask = this.InvokeAsync(async () =>
|
||||||
|
{
|
||||||
|
_fileChangingSuppressBreakpointToggleEvent = true;
|
||||||
|
SetText(await readFileTask);
|
||||||
|
_fileChangingSuppressBreakpointToggleEvent = false;
|
||||||
|
});
|
||||||
|
await Task.WhenAll(syntaxHighlighting, razorSyntaxHighlighting, setTextTask); // Text must be set before setting syntax highlighting
|
||||||
SetSyntaxHighlightingModel(await syntaxHighlighting, await razorSyntaxHighlighting);
|
SetSyntaxHighlightingModel(await syntaxHighlighting, await razorSyntaxHighlighting);
|
||||||
SetDiagnosticsModel(await diagnostics);
|
SetDiagnosticsModel(await diagnostics);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user