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

Commitd8754eb

Browse files
authored
Fix for #3267 --- Arrow keys and backspace stopped working (#3405)
1 parent0389d84 commitd8754eb

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

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

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ and
313313

314314
letoptionsAssociation= ConditionalWeakTable<IWorkspaceProjectContext, string[]>()
315315

316+
letlockObj=new Object()
317+
316318
overridethis.Initialize()=
317319
base.Initialize()
318320

@@ -421,18 +423,19 @@ and
421423
letprojectGuid= Guid(site.ProjectGuid)
422424
letprojectFileName= site.ProjectFileName()
423425
letprojectDisplayName= projectDisplayNameOf projectFileName
426+
424427
letprojectId= workspace.ProjectTracker.GetOrCreateProjectIdForPath(projectFileName, projectDisplayName)
425428

426429
if isNull(workspace.ProjectTracker.GetProject projectId)then
427430
projectInfoManager.UpdateProjectInfo(tryGetOrCreateProjectId workspace, projectId, site, workspace, userOpName)
428431
letprojectContextFactory= package.ComponentModel.GetService<IWorkspaceProjectContextFactory>();
429432
leterrorReporter= ProjectExternalErrorReporter(projectId,"FS", this.SystemServiceProvider)
430-
433+
431434
lethierarchy=
432435
site.ProjectProvider
433436
|> Option.map(fun p-> p:?> IVsHierarchy)
434437
|> Option.toObj
435-
438+
436439
// Roslyn is expecting site to be an IVsHierarchy.
437440
// It just so happens that the object that implements IProvideProjectSite is also
438441
// an IVsHierarchy. This assertion is to ensure that the assumption holds true.
@@ -455,7 +458,12 @@ and
455458
for referencedSitein ProjectSitesAndFiles.GetReferencedProjectSites(site, this.SystemServiceProvider)do
456459
letreferencedProjectId= setup referencedSite
457460
project.AddProjectReference(ProjectReference referencedProjectId)
458-
workspace.ProjectTracker.AddProject(project)
461+
462+
lock lockObj(fun()->
463+
ifnot(workspace.ProjectTracker.ContainsProject(project))then
464+
workspace.ProjectTracker.AddProject(project)|> ignore
465+
)
466+
459467
projectId
460468
setup(siteProvider.GetProjectSite())|> ignore
461469

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp