Skip to content

Commit 9a6ac3d

Browse files
majochaKevinRansom
authored andcommitted
Settings store and Text Editor option pages (dotnet#2805)
* settings store and editor options * show CLIMutable record use, guid constants * saner composition * fix CompletionProvider tests * fix public surface area * localization * move xaml into separate project * updated vsintegration readme * correct type in change handler * use Newtonsoft's PopulateObject for cheap schema evolution * cleanup added project * Revert "cleanup added project" This reverts commit 163ebda. * cleanup, another attempt
1 parent dc6f54e commit 9a6ac3d

33 files changed

+928
-75
lines changed

VisualFSharp.sln

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 15
4-
VisualStudioVersion = 15.0.26206.0
4+
VisualStudioVersion = 15.0.26403.0
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler", "src\fsharp\FSharp.Compiler\FSharp.Compiler.fsproj", "{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}"
77
EndProject
@@ -136,6 +136,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utils", "Utils", "{D086C8C6
136136
EndProject
137137
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "LanguageServiceProfiling", "vsintegration\Utils\LanguageServiceProfiling\LanguageServiceProfiling.fsproj", "{E7FA3A71-51AF-4FCA-9C2F-7C853E515903}"
138138
EndProject
139+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharp.UIResources", "vsintegration\src\FSharp.UIResources\FSharp.UIResources.csproj", "{C4586A06-1402-48BC-8E35-A1B8642F895B}"
140+
EndProject
139141
Global
140142
GlobalSection(SolutionConfigurationPlatforms) = preSolution
141143
Debug|Any CPU = Debug|Any CPU
@@ -749,6 +751,18 @@ Global
749751
{E7FA3A71-51AF-4FCA-9C2F-7C853E515903}.Release|Any CPU.Build.0 = Release|Any CPU
750752
{E7FA3A71-51AF-4FCA-9C2F-7C853E515903}.Release|x86.ActiveCfg = Release|Any CPU
751753
{E7FA3A71-51AF-4FCA-9C2F-7C853E515903}.Release|x86.Build.0 = Release|Any CPU
754+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
755+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|Any CPU.Build.0 = Debug|Any CPU
756+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|x86.ActiveCfg = Debug|Any CPU
757+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Debug|x86.Build.0 = Debug|Any CPU
758+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Proto|Any CPU.ActiveCfg = Proto|Any CPU
759+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Proto|Any CPU.Build.0 = Proto|Any CPU
760+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Proto|x86.ActiveCfg = Proto|Any CPU
761+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Proto|x86.Build.0 = Proto|Any CPU
762+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Release|Any CPU.ActiveCfg = Release|Any CPU
763+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Release|Any CPU.Build.0 = Release|Any CPU
764+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Release|x86.ActiveCfg = Release|Any CPU
765+
{C4586A06-1402-48BC-8E35-A1B8642F895B}.Release|x86.Build.0 = Release|Any CPU
752766
EndGlobalSection
753767
GlobalSection(SolutionProperties) = preSolution
754768
HideSolutionNode = FALSE
@@ -811,5 +825,6 @@ Global
811825
{2E60864A-E3FF-4BCC-810F-DC7C34E6B236} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449}
812826
{D086C8C6-D00D-4C3B-9AB2-A4286C9F5922} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
813827
{E7FA3A71-51AF-4FCA-9C2F-7C853E515903} = {D086C8C6-D00D-4C3B-9AB2-A4286C9F5922}
828+
{C4586A06-1402-48BC-8E35-A1B8642F895B} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D}
814829
EndGlobalSection
815830
EndGlobal

src/update.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ rem Disable strong-name validation for F# binaries built from open source that a
5656
%SN32% -q -Vr FSharp.Compiler,b03f5f7f11d50a3a
5757
%SN32% -q -Vr FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
5858
%SN32% -q -Vr FSharp.Editor,b03f5f7f11d50a3a
59+
%SN32% -q -Vr FSharp.UIResources,b03f5f7f11d50a3a
5960
%SN32% -q -Vr FSharp.LanguageService,b03f5f7f11d50a3a
6061
%SN32% -q -Vr FSharp.LanguageService.Base,b03f5f7f11d50a3a
6162
%SN32% -q -Vr FSharp.LanguageService.Compiler,b03f5f7f11d50a3a
@@ -81,6 +82,7 @@ if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
8182
%SN64% -q -Vr FSharp.Compiler,b03f5f7f11d50a3a
8283
%SN64% -q -Vr FSharp.Compiler.Server.Shared,b03f5f7f11d50a3a
8384
%SN64% -q -Vr FSharp.Editor,b03f5f7f11d50a3a
85+
%SN64% -q -Vr FSharp.UIResources,b03f5f7f11d50a3a
8486
%SN64% -q -Vr FSharp.LanguageService,b03f5f7f11d50a3a
8587
%SN64% -q -Vr FSharp.LanguageService.Base,b03f5f7f11d50a3a
8688
%SN64% -q -Vr FSharp.LanguageService.Compiler,b03f5f7f11d50a3a

vsintegration/Vsix/VisualFSharpFull/Source.extension.vsixmanifest

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<Action Type="Ngen" Path="FSharp.Compiler.Server.Shared.dll" />
2121
<Action Type="Ngen" Path="FSharp.Core.dll" />
2222
<Action Type="Ngen" Path="FSharp.Editor.dll" />
23+
<Action Type="Ngen" Path="FSharp.UIResources.dll" />
2324
<Action Type="Ngen" Path="FSharp.LanguageService.Base.dll" />
2425
<Action Type="Ngen" Path="FSharp.LanguageService.Compiler.dll" />
2526
<Action Type="Ngen" Path="FSharp.LanguageService.dll" />
@@ -65,6 +66,6 @@
6566
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="ProjectSystem.Base" Path="|ProjectSystem.Base|" />
6667
</Assets>
6768
<Prerequisites>
68-
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,16.0)" DisplayName="Visual Studio core editor" />
69+
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,16.0)" DisplayName="Visual Studio core editor" />
6970
</Prerequisites>
7071
</PackageManifest>

vsintegration/Vsix/VisualFSharpFull/VisualFSharpFull.csproj

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,13 @@
166166
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
167167
<Private>True</Private>
168168
</ProjectReference>
169+
<ProjectReference Include="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.UIResources\FSharp.UIResources.csproj">
170+
<Project>{c4586a06-1402-48bc-8e35-a1b8642f895b}</Project>
171+
<Name>FSharp.UIResources</Name>
172+
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
173+
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
174+
<Private>True</Private>
175+
</ProjectReference>
169176
<ProjectReference Include="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.LanguageService.Base\FSharp.LanguageService.Base.csproj">
170177
<Project>{1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}</Project>
171178
<Name>FSharp.LanguageService.Base</Name>
@@ -313,6 +320,12 @@
313320
<Private>True</Private>
314321
</ProjectReference>
315322
</ItemGroup>
323+
<ItemGroup>
324+
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
325+
<SpecificVersion>False</SpecificVersion>
326+
<HintPath>$(FSharpSourcesRoot)\..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
327+
</Reference>
328+
</ItemGroup>
316329
<Import Project="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.tools.targets" />
317330
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
318331
<Target Name="GatherBinariesToBeSigned" AfterTargets="Localize" Condition="'$(UseGatherBinaries)' == 'true'">
@@ -323,4 +336,4 @@
323336
</FilesToSign>
324337
</ItemGroup>
325338
</Target>
326-
</Project>
339+
</Project>

vsintegration/Vsix/VisualFSharpOpenSource/Source.extension.vsixmanifest

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<Action Type="Ngen" Path="FSharp.Compiler.Server.Shared.dll" />
2121
<Action Type="Ngen" Path="FSharp.Core.dll" />
2222
<Action Type="Ngen" Path="FSharp.Editor.dll" />
23+
<Action Type="Ngen" Path="FSharp.UIResources.dll" />
2324
<Action Type="Ngen" Path="FSharp.LanguageService.Base.dll" />
2425
<Action Type="Ngen" Path="FSharp.LanguageService.Compiler.dll" />
2526
<Action Type="Ngen" Path="FSharp.LanguageService.dll" />

vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,13 @@
165165
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
166166
<Private>True</Private>
167167
</ProjectReference>
168+
<ProjectReference Include="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.UIResources\FSharp.UIResources.csproj">
169+
<Project>{c4586a06-1402-48bc-8e35-a1b8642f895b}</Project>
170+
<Name>FSharp.UIResources</Name>
171+
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
172+
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
173+
<Private>True</Private>
174+
</ProjectReference>
168175
<ProjectReference Include="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.LanguageService.Base\FSharp.LanguageService.Base.csproj">
169176
<Project>{1C5C163C-37EA-4A3C-8CCC-0D34B74BF8EF}</Project>
170177
<Name>FSharp.LanguageService.Base</Name>
@@ -312,6 +319,12 @@
312319
<Private>True</Private>
313320
</ProjectReference>
314321
</ItemGroup>
322+
<ItemGroup>
323+
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
324+
<SpecificVersion>False</SpecificVersion>
325+
<HintPath>$(FSharpSourcesRoot)\..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
326+
</Reference>
327+
</ItemGroup>
315328
<Import Project="$(FSharpSourcesRoot)\..\vsintegration\src\FSharp.tools.targets" />
316329
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
317330
<Target Name="GatherBinariesToBeSigned" AfterTargets="Localize" Condition="'$(UseGatherBinaries)' == 'true'">

vsintegration/fsharp-vsintegration-src-build.proj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<ItemGroup>
88
<ProjectFiles Include="src\FSharp.Editor\FSharp.Editor.fsproj" />
99
<ProjectFiles Include="src\FSharp.LanguageService\FSharp.LanguageService.fsproj" />
10+
<ProjectFiles Include="src\FSharp.UIResources\FSharp.UIResources.csproj" />
1011
<ProjectFiles Include="src\FSharp.LanguageService.Base\FSharp.LanguageService.Base.csproj" />
1112
<ProjectFiles Include="src\FSharp.ProjectSystem.Base\Project\ProjectSystem.Base.csproj" />
1213
<ProjectFiles Include="src\FSharp.ProjectSystem.FSharp\ProjectSystem.fsproj" />

vsintegration/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,6 @@
6868
<package id="Microsoft.VisualStudio.Platform.VSEditor" version="15.0.26201-alpha" targetFramework="net46" />
6969
<package id="Microsoft.VisualStudio.Platform.VSEditor.Interop" version="15.0.26201-alpha" targetFramework="net46" />
7070
<package id="Microsoft.VisualStudio.Telemetry" version="15.0.777-rtm6FAA2C78" targetFramework="net45" />
71-
71+
<package id="Newtonsoft.Json" version="10.0.2.0"/>
7272
</packages>
7373

vsintegration/readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ This folder contains projects and tests related to Visual Studio tooling and IDE
44

55
main project for Visual F# tooling
66

7+
# src/FSharp.UIResources
8+
9+
GUI controls and resources for Visual F# tooling
10+
711
# src/FSharp.LanguageService
812

913
legacy bits (before roslyn workspace)

vsintegration/src/FSharp.Editor/Common/AssemblyInfo.fs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ open Microsoft.VisualStudio.Shell
99
[<assembly:System.Runtime.CompilerServices.InternalsVisibleTo("VisualFSharp.Salsa, PublicKey=002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293")>]
1010

1111
[<assembly: ProvideCodeBase(CodeBase = @"$PackageFolder$\FSharp.Editor.dll")>]
12+
[<assembly: ProvideCodeBase(CodeBase = @"$PackageFolder$\FSharp.UIResources.dll")>]
13+
[<assembly: ProvideCodeBase(CodeBase = @"$PackageFolder$\Newtonsoft.Json.dll")>]
1214

1315
do()
1416

0 commit comments

Comments
 (0)