Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,9 @@ module private FSharpProjectOptionsHelpers =
let v2 = p2.GetDependentVersionAsync(ct).Result
v1 <> v2))

let isProjectInvalidated (oldProject: Project) (newProject: Project) ct =
let hasProjectVersionChanged = hasProjectVersionChanged oldProject newProject

if newProject.AreFSharpInMemoryCrossProjectReferencesEnabled then
hasProjectVersionChanged || hasDependentVersionChanged oldProject newProject ct
else
hasProjectVersionChanged
let inline isProjectInvalidated (oldProject: Project) (newProject: Project) ct =
hasProjectVersionChanged oldProject newProject
|| hasDependentVersionChanged oldProject newProject ct

[<RequireQualifiedAccess>]
type private FSharpProjectOptionsMessage =
Expand Down Expand Up @@ -276,21 +272,18 @@ type private FSharpProjectOptionsReactor(checker: FSharpChecker) =

let referencedProjects = ResizeArray()

if project.AreFSharpInMemoryCrossProjectReferencesEnabled then
for projectReference in project.ProjectReferences do
let referencedProject = project.Solution.GetProject(projectReference.ProjectId)

if referencedProject.Language = FSharpConstants.FSharpLanguageName then
match! tryComputeOptions referencedProject ct with
| None -> canBail <- true
| Some (_, projectOptions) ->
referencedProjects.Add(
FSharpReferencedProject.CreateFSharp(referencedProject.OutputFilePath, projectOptions)
)
elif referencedProject.SupportsCompilation then
let! comp = referencedProject.GetCompilationAsync(ct) |> Async.AwaitTask
let peRef = createPEReference referencedProject comp
referencedProjects.Add(peRef)
for projectReference in project.ProjectReferences do
let referencedProject = project.Solution.GetProject(projectReference.ProjectId)

if referencedProject.Language = FSharpConstants.FSharpLanguageName then
match! tryComputeOptions referencedProject ct with
| None -> canBail <- true
| Some (_, projectOptions) ->
referencedProjects.Add(FSharpReferencedProject.CreateFSharp(referencedProject.OutputFilePath, projectOptions))
elif referencedProject.SupportsCompilation then
let! comp = referencedProject.GetCompilationAsync(ct) |> Async.AwaitTask
let peRef = createPEReference referencedProject comp
referencedProjects.Add(peRef)

if canBail then
return None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,6 @@ type internal FSharpWorkspaceServiceFactory [<System.Composition.ImportingConstr

let useSyntaxTreeCache = editorOptions.LanguageServicePerformance.UseSyntaxTreeCache

let enableInMemoryCrossProjectReferences =
editorOptions.LanguageServicePerformance.EnableInMemoryCrossProjectReferences

let enableFastFindReferences =
editorOptions.LanguageServicePerformance.EnableFastFindReferences

Expand Down Expand Up @@ -168,7 +165,6 @@ type internal FSharpWorkspaceServiceFactory [<System.Composition.ImportingConstr
nameof enableLiveBuffers, enableLiveBuffers
nameof useSyntaxTreeCache, useSyntaxTreeCache
nameof enableParallelReferenceResolution, enableParallelReferenceResolution
nameof enableInMemoryCrossProjectReferences, enableInMemoryCrossProjectReferences
nameof enableFastFindReferences, enableFastFindReferences
nameof isInlineParameterNameHintsEnabled, isInlineParameterNameHintsEnabled
nameof isInlineTypeHintsEnabled, isInlineTypeHintsEnabled
Expand Down
5 changes: 0 additions & 5 deletions vsintegration/src/FSharp.Editor/Options/EditorOptions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ type CodeFixesOptions =
[<CLIMutable>]
type LanguageServicePerformanceOptions =
{
EnableInMemoryCrossProjectReferences: bool
AllowStaleCompletionResults: bool
TimeUntilStaleCompletion: int
EnableParallelReferenceResolution: bool
Expand All @@ -89,7 +88,6 @@ type LanguageServicePerformanceOptions =

static member Default =
{
EnableInMemoryCrossProjectReferences = true
AllowStaleCompletionResults = true
TimeUntilStaleCompletion = 2000 // In ms, so this is 2 seconds
EnableParallelReferenceResolution = false
Expand Down Expand Up @@ -217,9 +215,6 @@ module EditorOptionsExtensions =
member private this.EditorOptions =
this.Solution.Workspace.Services.GetService<EditorOptions>()

member this.AreFSharpInMemoryCrossProjectReferencesEnabled =
this.EditorOptions.LanguageServicePerformance.EnableInMemoryCrossProjectReferences

member this.IsFSharpCodeFixesAlwaysPlaceOpensAtTopLevelEnabled =
this.EditorOptions.CodeFixes.AlwaysPlaceOpensAtTopLevel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@
<StackPanel>
<GroupBox Header="{x:Static local:Strings.Project_Performance}">
<StackPanel>
<CheckBox x:Name="enableInMemoryCrossProjectReferences"
IsChecked="{Binding EnableInMemoryCrossProjectReferences}"
Content="{x:Static local:Strings.Enable_in_memory_cross_project_references}"
ToolTip="{x:Static local:Strings.Tooltip_in_memory_cross_project_references}"/>
<CheckBox x:Name="enablePartialTypeChecking"
IsChecked="{Binding EnablePartialTypeChecking}"
Content="{x:Static local:Strings.Enable_partial_type_checking}" />
Expand Down
18 changes: 0 additions & 18 deletions vsintegration/src/FSharp.UIResources/Strings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions vsintegration/src/FSharp.UIResources/Strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,6 @@
<data name="Show_completion_list_after_a_character_is_typed" xml:space="preserve">
<value>_Show completion list after a character is typed</value>
</data>
<data name="Enable_in_memory_cross_project_references" xml:space="preserve">
<value>_Enable in-memory cross project references</value>
</data>
<data name="Show_navigation_links_as" xml:space="preserve">
<value>S_how navigation links as</value>
</data>
Expand Down Expand Up @@ -195,9 +192,6 @@
<data name="Enable_Stale_IntelliSense_Results" xml:space="preserve">
<value>Enable stale data for IntelliSense features</value>
</data>
<data name="Tooltip_in_memory_cross_project_references" xml:space="preserve">
<value>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</value>
</data>
<data name="Enter_key_always" xml:space="preserve">
<value>Always add new line on enter</value>
</data>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.cs.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">_Zobrazovat seznam dokončení po zadání znaku</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">_Povolit odkazy mezi projekty v paměti</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">Zo_brazit navigační odkazy jako</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Povolit zastaralá data pro funkce IntelliSense</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<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>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Při stisku Enter vždy přidat nový řádek</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.de.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">_Vervoll­ständigungsliste nach Eingabe eines Zeichens anzeigen</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">Proj_ektübergreifende Verweise im Arbeitsspeicher aktivieren</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">Navigationslink_s anzeigen als</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Veraltete Daten für IntelliSense-Features aktivieren</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<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>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Nach Drücken der EINGABETASTE immer neue Zeile hinzufügen</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.es.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">_Mostrar lista de finalización después de escribir un carácter</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">_Habilitar referencias entre proyectos en memoria</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">M_ostrar vínculos de navegación como</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Habilitar datos obsoletos para características de IntelliSense</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<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>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Siempre agregar una nueva línea al pulsar Intro</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.fr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">_Afficher la liste de saisie semi-automatique après la saisie d'un caractère</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">_Activer les références de projet croisé en mémoire</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">Affic_her les liens de navigation en tant que</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Activer les données périmées pour les fonctionnalités IntelliSense</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<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>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Toujours ajouter une nouvelle ligne en appuyant sur Entrée</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.it.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">Mo_stra elenco di completamento dopo la digitazione di un carattere</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">_Abilita i riferimenti tra progetti in memoria</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">M_ostra collegamenti di navigazione come</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Abilita dati non aggiornati per le funzionalità IntelliSense</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<target state="translated">I riferimenti tra progetti in memoria consentono di archiviare in memoria i dati a livello di progetto per consentire l'uso di funzionalità IDE tra progetti.</target>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Aggiungi sempre una nuova riga dopo INVIO</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.ja.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">文字が入力された後に入力候補一覧を表示する(_S)</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">メモリ内のプロジェクト間参照を有効にする(_E)</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">次としてナビゲーション リンクを表示する(_H)</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">IntelliSense 機能に対して古いデータを有効にする</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<target state="translated">メモリ内のプロジェクト間参照に、プロジェクトをまたいで IDE 機能を動作可能にするプロジェクト レベルのデータが格納されます。</target>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Enter を押すと常に新しい行を追加します</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.ko.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">문자를 입력하면 완성 목록 표시(_S)</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">메모리 내 크로스 프로젝트 참조 사용(_E)</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">탐색 링크를 다음으로 표시(_H)</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">IntelliSense 기능에 대해 부실 데이터 사용</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<target state="translated">메모리 내 크로스 프로젝트 참조가 메모리에 프로젝트 수준 데이터를 저장하여 IDE 기능이 프로젝트에서 작동하도록 합니다.</target>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">입력 시 새 줄 항상 추가</target>
Expand Down
10 changes: 0 additions & 10 deletions vsintegration/src/FSharp.UIResources/xlf/Strings.pl.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@
<target state="translated">_Pokaż listę uzupełniania po wpisaniu znaku</target>
<note />
</trans-unit>
<trans-unit id="Enable_in_memory_cross_project_references">
<source>_Enable in-memory cross project references</source>
<target state="translated">_Włącz odwołania między projektami w pamięci</target>
<note />
</trans-unit>
<trans-unit id="Show_navigation_links_as">
<source>S_how navigation links as</source>
<target state="translated">P_okaż linki nawigacyjne jako</target>
Expand Down Expand Up @@ -207,11 +202,6 @@
<target state="translated">Włącz dane nieodświeżone na potrzeby funkcji IntelliSense</target>
<note />
</trans-unit>
<trans-unit id="Tooltip_in_memory_cross_project_references">
<source>In-memory cross-project references store project-level data in memory to allow IDE features to work across projects.</source>
<target state="translated">Odwołania między projektami w pamięci przechowują dane na poziomie projektu w pamięci, aby umożliwić funkcjom środowiska IDE działanie w wielu projektach.</target>
<note />
</trans-unit>
<trans-unit id="Enter_key_always">
<source>Always add new line on enter</source>
<target state="translated">Zawsze dodawaj nowy wiersz po naciśnięciu klawisza Enter</target>
Expand Down
Loading