Skip to content

Commit c6e2b7f

Browse files
vzarytovskiigithub-actions[bot]KevinRansom
authored
Make in-memory cross-project references the only option (by removing the switch) (dotnet#15116)
* Make in-memory cross-project references the only option (by removing the switch) * Cleanup translations * Automated command ran: fantomas Co-authored-by: vzarytovskii <[email protected]> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Kevin Ransom (msft) <[email protected]>
1 parent c2f7859 commit c6e2b7f

19 files changed

Lines changed: 15 additions & 189 deletions

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

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,9 @@ module private FSharpProjectOptionsHelpers =
8585
let v2 = p2.GetDependentVersionAsync(ct).Result
8686
v1 <> v2))
8787

88-
let isProjectInvalidated (oldProject: Project) (newProject: Project) ct =
89-
let hasProjectVersionChanged = hasProjectVersionChanged oldProject newProject
90-
91-
if newProject.AreFSharpInMemoryCrossProjectReferencesEnabled then
92-
hasProjectVersionChanged || hasDependentVersionChanged oldProject newProject ct
93-
else
94-
hasProjectVersionChanged
88+
let inline isProjectInvalidated (oldProject: Project) (newProject: Project) ct =
89+
hasProjectVersionChanged oldProject newProject
90+
|| hasDependentVersionChanged oldProject newProject ct
9591

9692
[<RequireQualifiedAccess>]
9793
type private FSharpProjectOptionsMessage =
@@ -276,21 +272,18 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =
276272

277273
let referencedProjects = ResizeArray()
278274

279-
if project.AreFSharpInMemoryCrossProjectReferencesEnabled then
280-
for projectReference in project.ProjectReferences do
281-
let referencedProject = project.Solution.GetProject(projectReference.ProjectId)
282-
283-
if referencedProject.Language = FSharpConstants.FSharpLanguageName then
284-
match! tryComputeOptions referencedProject ct with
285-
| None -> canBail <- true
286-
| Some (_, projectOptions) ->
287-
referencedProjects.Add(
288-
FSharpReferencedProject.CreateFSharp(referencedProject.OutputFilePath, projectOptions)
289-
)
290-
elif referencedProject.SupportsCompilation then
291-
let! comp = referencedProject.GetCompilationAsync(ct) |> Async.AwaitTask
292-
let peRef = createPEReference referencedProject comp
293-
referencedProjects.Add(peRef)
275+
for projectReference in project.ProjectReferences do
276+
let referencedProject = project.Solution.GetProject(projectReference.ProjectId)
277+
278+
if referencedProject.Language = FSharpConstants.FSharpLanguageName then
279+
match! tryComputeOptions referencedProject ct with
280+
| None -> canBail <- true
281+
| Some (_, projectOptions) ->
282+
referencedProjects.Add(FSharpReferencedProject.CreateFSharp(referencedProject.OutputFilePath, projectOptions))
283+
elif referencedProject.SupportsCompilation then
284+
let! comp = referencedProject.GetCompilationAsync(ct) |> Async.AwaitTask
285+
let peRef = createPEReference referencedProject comp
286+
referencedProjects.Add(peRef)
294287

295288
if canBail then
296289
return None

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,6 @@ type internal FSharpWorkspaceServiceFactory [<System.Composition.ImportingConstr
126126

127127
let useSyntaxTreeCache = editorOptions.LanguageServicePerformance.UseSyntaxTreeCache
128128

129-
let enableInMemoryCrossProjectReferences =
130-
editorOptions.LanguageServicePerformance.EnableInMemoryCrossProjectReferences
131-
132129
let enableFastFindReferences =
133130
editorOptions.LanguageServicePerformance.EnableFastFindReferences
134131

@@ -168,7 +165,6 @@ type internal FSharpWorkspaceServiceFactory [<System.Composition.ImportingConstr
168165
nameof enableLiveBuffers, enableLiveBuffers
169166
nameof useSyntaxTreeCache, useSyntaxTreeCache
170167
nameof enableParallelReferenceResolution, enableParallelReferenceResolution
171-
nameof enableInMemoryCrossProjectReferences, enableInMemoryCrossProjectReferences
172168
nameof enableFastFindReferences, enableFastFindReferences
173169
nameof isInlineParameterNameHintsEnabled, isInlineParameterNameHintsEnabled
174170
nameof isInlineTypeHintsEnabled, isInlineTypeHintsEnabled

vsintegration/src/FSharp.Editor/Options/EditorOptions.fs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ type CodeFixesOptions =
7878
[<CLIMutable>]
7979
type LanguageServicePerformanceOptions =
8080
{
81-
EnableInMemoryCrossProjectReferences: bool
8281
AllowStaleCompletionResults: bool
8382
TimeUntilStaleCompletion: int
8483
EnableParallelReferenceResolution: bool
@@ -89,7 +88,6 @@ type LanguageServicePerformanceOptions =
8988

9089
static member Default =
9190
{
92-
EnableInMemoryCrossProjectReferences = true
9391
AllowStaleCompletionResults = true
9492
TimeUntilStaleCompletion = 2000 // In ms, so this is 2 seconds
9593
EnableParallelReferenceResolution = false
@@ -217,9 +215,6 @@ module EditorOptionsExtensions =
217215
member private this.EditorOptions =
218216
this.Solution.Workspace.Services.GetService<EditorOptions>()
219217

220-
member this.AreFSharpInMemoryCrossProjectReferencesEnabled =
221-
this.EditorOptions.LanguageServicePerformance.EnableInMemoryCrossProjectReferences
222-
223218
member this.IsFSharpCodeFixesAlwaysPlaceOpensAtTopLevelEnabled =
224219
this.EditorOptions.CodeFixes.AlwaysPlaceOpensAtTopLevel
225220

vsintegration/src/FSharp.UIResources/LanguageServicePerformanceOptionControl.xaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
<StackPanel>
2020
<GroupBox Header="{x:Static local:Strings.Project_Performance}">
2121
<StackPanel>
22-
<CheckBox x:Name="enableInMemoryCrossProjectReferences"
23-
IsChecked="{Binding EnableInMemoryCrossProjectReferences}"
24-
Content="{x:Static local:Strings.Enable_in_memory_cross_project_references}"
25-
ToolTip="{x:Static local:Strings.Tooltip_in_memory_cross_project_references}"/>
2622
<CheckBox x:Name="enablePartialTypeChecking"
2723
IsChecked="{Binding EnablePartialTypeChecking}"
2824
Content="{x:Static local:Strings.Enable_partial_type_checking}" />

vsintegration/src/FSharp.UIResources/Strings.Designer.cs

Lines changed: 0 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vsintegration/src/FSharp.UIResources/Strings.resx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,6 @@
147147
<data name="Show_completion_list_after_a_character_is_typed" xml:space="preserve">
148148
<value>_Show completion list after a character is typed</value>
149149
</data>
150-
<data name="Enable_in_memory_cross_project_references" xml:space="preserve">
151-
<value>_Enable in-memory cross project references</value>
152-
</data>
153150
<data name="Show_navigation_links_as" xml:space="preserve">
154151
<value>S_how navigation links as</value>
155152
</data>
@@ -195,9 +192,6 @@
195192
<data name="Enable_Stale_IntelliSense_Results" xml:space="preserve">
196193
<value>Enable stale data for IntelliSense features</value>
197194
</data>
198-
<data name="Tooltip_in_memory_cross_project_references" xml:space="preserve">
199-
<value>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</value>
200-
</data>
201195
<data name="Enter_key_always" xml:space="preserve">
202196
<value>Always add new line on enter</value>
203197
</data>

vsintegration/src/FSharp.UIResources/xlf/Strings.cs.xlf

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,6 @@
127127
<target state="translated">_Zobrazovat seznam dokončení po zadání znaku</target>
128128
<note />
129129
</trans-unit>
130-
<trans-unit id="Enable_in_memory_cross_project_references">
131-
<source>_Enable in-memory cross project references</source>
132-
<target state="translated">_Povolit odkazy mezi projekty v paměti</target>
133-
<note />
134-
</trans-unit>
135130
<trans-unit id="Show_navigation_links_as">
136131
<source>S_how navigation links as</source>
137132
<target state="translated">Zo_brazit navigační odkazy jako</target>
@@ -207,11 +202,6 @@
207202
<target state="translated">Povolit zastaralá data pro funkce IntelliSense</target>
208203
<note />
209204
</trans-unit>
210-
<trans-unit id="Tooltip_in_memory_cross_project_references">
211-
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
212-
<target state="translated">V odkazech v paměti pro různé projekty jsou uložená data na úrovni projektů, aby mohly mezi projekty fungovat funkce IDE.</target>
213-
<note />
214-
</trans-unit>
215205
<trans-unit id="Enter_key_always">
216206
<source>Always add new line on enter</source>
217207
<target state="translated">Při stisku Enter vždy přidat nový řádek</target>

vsintegration/src/FSharp.UIResources/xlf/Strings.de.xlf

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,6 @@
127127
<target state="translated">_Vervoll­ständigungsliste nach Eingabe eines Zeichens anzeigen</target>
128128
<note />
129129
</trans-unit>
130-
<trans-unit id="Enable_in_memory_cross_project_references">
131-
<source>_Enable in-memory cross project references</source>
132-
<target state="translated">Proj_ektübergreifende Verweise im Arbeitsspeicher aktivieren</target>
133-
<note />
134-
</trans-unit>
135130
<trans-unit id="Show_navigation_links_as">
136131
<source>S_how navigation links as</source>
137132
<target state="translated">Navigationslink_s anzeigen als</target>
@@ -207,11 +202,6 @@
207202
<target state="translated">Veraltete Daten für IntelliSense-Features aktivieren</target>
208203
<note />
209204
</trans-unit>
210-
<trans-unit id="Tooltip_in_memory_cross_project_references">
211-
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
212-
<target state="translated">Bei projektübergreifenden In-Memory-Verweisen werden Daten auf Projektebene im Arbeitsspeicher abgelegt, damit IDE-Features projektübergreifend verwendet werden können.</target>
213-
<note />
214-
</trans-unit>
215205
<trans-unit id="Enter_key_always">
216206
<source>Always add new line on enter</source>
217207
<target state="translated">Nach Drücken der EINGABETASTE immer neue Zeile hinzufügen</target>

vsintegration/src/FSharp.UIResources/xlf/Strings.es.xlf

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,6 @@
127127
<target state="translated">_Mostrar lista de finalización después de escribir un carácter</target>
128128
<note />
129129
</trans-unit>
130-
<trans-unit id="Enable_in_memory_cross_project_references">
131-
<source>_Enable in-memory cross project references</source>
132-
<target state="translated">_Habilitar referencias entre proyectos en memoria</target>
133-
<note />
134-
</trans-unit>
135130
<trans-unit id="Show_navigation_links_as">
136131
<source>S_how navigation links as</source>
137132
<target state="translated">M_ostrar vínculos de navegación como</target>
@@ -207,11 +202,6 @@
207202
<target state="translated">Habilitar datos obsoletos para características de IntelliSense</target>
208203
<note />
209204
</trans-unit>
210-
<trans-unit id="Tooltip_in_memory_cross_project_references">
211-
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
212-
<target state="translated">Las referencias en memoria entre proyectos almacenan los datos de nivel de proyecto en memoria para permitir que las características del IDE funcionen de unos proyectos a otros.</target>
213-
<note />
214-
</trans-unit>
215205
<trans-unit id="Enter_key_always">
216206
<source>Always add new line on enter</source>
217207
<target state="translated">Siempre agregar una nueva línea al pulsar Intro</target>

vsintegration/src/FSharp.UIResources/xlf/Strings.fr.xlf

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,6 @@
127127
<target state="translated">_Afficher la liste de saisie semi-automatique après la saisie d'un caractère</target>
128128
<note />
129129
</trans-unit>
130-
<trans-unit id="Enable_in_memory_cross_project_references">
131-
<source>_Enable in-memory cross project references</source>
132-
<target state="translated">_Activer les références de projet croisé en mémoire</target>
133-
<note />
134-
</trans-unit>
135130
<trans-unit id="Show_navigation_links_as">
136131
<source>S_how navigation links as</source>
137132
<target state="translated">Affic_her les liens de navigation en tant que</target>
@@ -207,11 +202,6 @@
207202
<target state="translated">Activer les données périmées pour les fonctionnalités IntelliSense</target>
208203
<note />
209204
</trans-unit>
210-
<trans-unit id="Tooltip_in_memory_cross_project_references">
211-
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
212-
<target state="translated">Les références inter-projets en mémoire stockent les données de niveau projet dans la mémoire pour permettre aux fonctionnalités de l'IDE de fonctionner sur plusieurs projets.</target>
213-
<note />
214-
</trans-unit>
215205
<trans-unit id="Enter_key_always">
216206
<source>Always add new line on enter</source>
217207
<target state="translated">Toujours ajouter une nouvelle ligne en appuyant sur Entrée</target>

0 commit comments

Comments
 (0)