Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit795c7c6

Browse files
dhwedcartermp
authored andcommitted
do not invalidate the BackgroundCompiler config on DocumentChanged (#4121)
1 parent351d06b commit795c7c6

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

‎vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,12 @@ type internal FSharpProjectOptionsManager
143143
}
144144

145145
/// Update the info for a project in the project table
146-
memberthis.UpdateProjectInfo(tryGetOrCreateProjectId,projectId,site,userOpName)=
146+
memberthis.UpdateProjectInfo(tryGetOrCreateProjectId,projectId,site,userOpName,invalidateConfig)=
147147
projectOptionsTable.AddOrUpdateProject(projectId,(fun isRefresh->
148148
letextraProjectInfo= Some(box workspace)
149149
lettryGetOptionsForReferencedProject f= f|> tryGetOrCreateProjectId|> Option.bind this.TryGetOptionsForProject|> Option.map(fun(_,_,projectOptions)-> projectOptions)
150150
letreferencedProjects,projectOptions= ProjectSitesAndFiles.GetProjectOptionsForProjectSite(Settings.LanguageServicePerformance.EnableInMemoryCrossProjectReferences, tryGetOptionsForReferencedProject, site, serviceProvider,(tryGetOrCreateProjectId(site.ProjectFileName)), site.ProjectFileName, extraProjectInfo, Some projectOptionsTable,true)
151-
checkerProvider.Checker.InvalidateConfiguration(projectOptions, startBackgroundCompileIfAlreadySeen=not isRefresh, userOpName= userOpName+".UpdateProjectInfo")
151+
if invalidateConfigthencheckerProvider.Checker.InvalidateConfiguration(projectOptions, startBackgroundCompileIfAlreadySeen=not isRefresh, userOpName= userOpName+".UpdateProjectInfo")
152152
letreferencedProjectIds= referencedProjects|> Array.choose tryGetOrCreateProjectId
153153
letparsingOptions,_= checkerProvider.Checker.GetParsingOptionsFromProjectOptions(projectOptions)
154154
referencedProjectIds, parsingOptions, Some site, projectOptions))
@@ -205,7 +205,7 @@ type internal FSharpProjectOptionsManager
205205
memberthis.ProvideProjectSiteProvider(project:Project)= provideProjectSiteProvider(workspace, project, serviceProvider, Some projectOptionsTable)
206206

207207
/// Tell the checker to update the project info for the specified project id
208-
memberthis.UpdateProjectInfoWithProjectId(projectId:ProjectId,userOpName)=
208+
memberthis.UpdateProjectInfoWithProjectId(projectId:ProjectId,userOpName,invalidateConfig)=
209209
lethier= workspace.GetHierarchy(projectId)
210210
match hierwith
211211
|null->()
@@ -215,13 +215,13 @@ type internal FSharpProjectOptionsManager
215215
letsiteProvider= this.ProvideProjectSiteProvider(project)
216216
letprojectSite= siteProvider.GetProjectSite()
217217
if projectSite.CompilationSourceFiles.Length<>0then
218-
this.UpdateProjectInfo(tryGetOrCreateProjectId, projectId, projectSite, userOpName)
218+
this.UpdateProjectInfo(tryGetOrCreateProjectId, projectId, projectSite, userOpName, invalidateConfig)
219219
|_->()
220220

221221
/// Tell the checker to update the project info for the specified project id
222-
memberthis.UpdateDocumenttInfoWithProjectId(projectId:ProjectId,documentId:DocumentId,userOpName)=
222+
memberthis.UpdateDocumentInfoWithProjectId(projectId:ProjectId,documentId:DocumentId,userOpName,invalidateConfig)=
223223
if workspace.IsDocumentOpen(documentId)then
224-
this.UpdateProjectInfoWithProjectId(projectId, userOpName)
224+
this.UpdateProjectInfoWithProjectId(projectId, userOpName, invalidateConfig)
225225

226226
[<Export>]
227227
/// This handles commandline change notifications from the Dotnet Project-system
@@ -233,7 +233,7 @@ type internal FSharpProjectOptionsManager
233233
letreferencePaths= references|> Seq.map(fun r-> fullPath r.Reference)|> Seq.toArray
234234
letprojectId= workspace.ProjectTracker.GetOrCreateProjectIdForPath(path, projectDisplayNameOf path)
235235
projectOptionsTable.SetOptionsWithProjectId(projectId, sourcePaths, referencePaths, options.ToArray())
236-
this.UpdateProjectInfoWithProjectId(projectId,"HandleCommandLineChanges")
236+
this.UpdateProjectInfoWithProjectId(projectId,"HandleCommandLineChanges", invalidateConfig=true)
237237

238238
member__.Checker= checkerProvider.Checker
239239

@@ -341,11 +341,11 @@ type
341341

342342
letoptionsAssociation= ConditionalWeakTable<IWorkspaceProjectContext, string[]>()
343343

344-
memberprivatethis.OnProjectAdded(projectId:ProjectId)= projectInfoManager.UpdateProjectInfoWithProjectId(projectId,"OnProjectAdded")
345-
memberprivatethis.OnProjectReloaded(projectId:ProjectId)= projectInfoManager.UpdateProjectInfoWithProjectId(projectId,"OnProjectReloaded")
346-
memberprivatethis.OnDocumentAdded(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumenttInfoWithProjectId(projectId, documentId,"OnDocumentAdded")
347-
memberprivatethis.OnDocumentChanged(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumenttInfoWithProjectId(projectId, documentId,"OnDocumentChanged")
348-
memberprivatethis.OnDocumentReloaded(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumenttInfoWithProjectId(projectId, documentId,"OnDocumentReloaded")
344+
memberprivatethis.OnProjectAdded(projectId:ProjectId)= projectInfoManager.UpdateProjectInfoWithProjectId(projectId,"OnProjectAdded", invalidateConfig=true)
345+
memberprivatethis.OnProjectReloaded(projectId:ProjectId)= projectInfoManager.UpdateProjectInfoWithProjectId(projectId,"OnProjectReloaded", invalidateConfig=true)
346+
memberprivatethis.OnDocumentAdded(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumentInfoWithProjectId(projectId, documentId,"OnDocumentAdded", invalidateConfig=true)
347+
memberprivatethis.OnDocumentChanged(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumentInfoWithProjectId(projectId, documentId,"OnDocumentChanged", invalidateConfig=false)
348+
memberprivatethis.OnDocumentReloaded(projectId:ProjectId,documentId:DocumentId)= projectInfoManager.UpdateDocumentInfoWithProjectId(projectId, documentId,"OnDocumentReloaded", invalidateConfig=true)
349349

350350
overridethis.Initialize()=
351351
base.Initialize()
@@ -473,7 +473,7 @@ type
473473

474474
// update the cached options
475475
if updatedthen
476-
projectInfoManager.UpdateProjectInfo(tryGetOrCreateProjectId workspace, project.Id, site, userOpName+".SyncProject")
476+
projectInfoManager.UpdateProjectInfo(tryGetOrCreateProjectId workspace, project.Id, site, userOpName+".SyncProject", invalidateConfig=true)
477477

478478
memberthis.SetupProjectFile(siteProvider:IProvideProjectSite,workspace:VisualStudioWorkspaceImpl,userOpName)=
479479
letuserOpName= userOpName+".SetupProjectFile"
@@ -583,7 +583,7 @@ type
583583
letfileContents= VsTextLines.GetFileContents(textLines, textViewAdapter)
584584
this.SetupStandAloneFile(filename, fileContents, this.Workspace, hier)
585585
| id->
586-
projectInfoManager.UpdateProjectInfoWithProjectId(id.ProjectId,"SetupNewTextView")
586+
projectInfoManager.UpdateProjectInfoWithProjectId(id.ProjectId,"SetupNewTextView", invalidateConfig=true)
587587
|_->
588588
letfileContents= VsTextLines.GetFileContents(textLines, textViewAdapter)
589589
this.SetupStandAloneFile(filename, fileContents, this.Workspace, hier)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp