Skip to content

Commit eeff1b6

Browse files
committed
feat(smooth): VS2017 and optionpage
1 parent 54297d0 commit eeff1b6

7 files changed

Lines changed: 98 additions & 192 deletions

File tree

SmoothScroll/SmoothScroll.csproj

Lines changed: 25 additions & 126 deletions
Large diffs are not rendered by default.

SmoothScroll/SmoothScrollPackage.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,28 @@
55
using Microsoft.VisualStudio;
66
using Microsoft.VisualStudio.Shell;
77
using Microsoft.VisualStudio.Shell.Interop;
8-
using System.Diagnostics.CodeAnalysis;
98
using Task = System.Threading.Tasks.Task;
109

1110
namespace SmoothScroll
1211
{
1312
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
1413
[InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] // Info on this package for Help/About
1514
[ProvideService(typeof(SmoothScrollPackage), IsAsyncQueryable = true)]
16-
[ProvideAutoLoad(VSConstants.UICONTEXT.SolutionExistsAndFullyLoaded_string, PackageAutoLoadFlags.BackgroundLoad)]
15+
[ProvideAutoLoad(VSConstants.UICONTEXT.NoSolution_string, PackageAutoLoadFlags.BackgroundLoad)]
1716
[Guid(SmoothScrollPackage.PackageGuidString)]
1817
[ProvideOptionPage(typeof(OptionsPage), "SmoothScroll", "General", 0, 0, true)]
1918

20-
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
2119
public sealed class SmoothScrollPackage : AsyncPackage
2220
{
2321
public const string PackageGuidString = "6bb22343-df63-4f19-8088-66caeafde0ad";
2422

2523
public static OptionsPage OptionsPage;
2624

27-
/// <summary>
28-
/// Initialization of the package; this method is called right after the package is sited, so this is the place
29-
/// where you can put all the initialization code that rely on services provided by VisualStudio.
30-
/// </summary>
31-
3225
protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
3326
{
34-
await Task.Run(() => OptionsPage = base.GetDialogPage(typeof(OptionsPage)) as OptionsPage);
27+
await base.InitializeAsync(cancellationToken, progress);
28+
29+
OptionsPage = base.GetDialogPage(typeof(OptionsPage)) as OptionsPage;
3530
}
3631
}
3732
}

SmoothScroll/app.config

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,26 @@
3030
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
3131
<bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
3232
</dependentAssembly>
33+
<dependentAssembly>
34+
<assemblyIdentity name="Microsoft.VisualStudio.CoreUtility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
35+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
36+
</dependentAssembly>
37+
<dependentAssembly>
38+
<assemblyIdentity name="Microsoft.VisualStudio.Text.Data" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
39+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
40+
</dependentAssembly>
41+
<dependentAssembly>
42+
<assemblyIdentity name="Microsoft.VisualStudio.Text.UI" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
43+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
44+
</dependentAssembly>
45+
<dependentAssembly>
46+
<assemblyIdentity name="Microsoft.VisualStudio.Text.Logic" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
47+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
48+
</dependentAssembly>
49+
<dependentAssembly>
50+
<assemblyIdentity name="Microsoft.VisualStudio.Text.UI.Wpf" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
51+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
52+
</dependentAssembly>
3353
</assemblyBinding>
3454
</runtime>
35-
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
55+
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /></startup></configuration>

SmoothScroll/packages.config

Lines changed: 21 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,25 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Microsoft.VisualStudio.CoreUtility" version="16.0.467" targetFramework="net472" />
4-
<package id="Microsoft.VisualStudio.ImageCatalog" version="16.0.28727" targetFramework="net472" />
5-
<package id="Microsoft.VisualStudio.Imaging" version="16.0.28729" targetFramework="net472" />
6-
<package id="Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime" version="14.3.26930" targetFramework="net472" />
7-
<package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6071" targetFramework="net472" />
8-
<package id="Microsoft.VisualStudio.SDK.Analyzers" version="15.8.36" targetFramework="net45" />
9-
<package id="Microsoft.VisualStudio.SDK.EmbedInteropTypes" version="15.0.27" targetFramework="net472" />
10-
<package id="Microsoft.VisualStudio.Shell.15.0" version="16.0.28729" targetFramework="net472" />
11-
<package id="Microsoft.VisualStudio.Shell.Framework" version="16.0.28729" targetFramework="net472" />
12-
<package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6072" targetFramework="net472" />
13-
<package id="Microsoft.VisualStudio.Shell.Interop.10.0" version="10.0.30320" targetFramework="net472" />
14-
<package id="Microsoft.VisualStudio.Shell.Interop.11.0" version="11.0.61031" targetFramework="net472" />
15-
<package id="Microsoft.VisualStudio.Shell.Interop.12.0" version="12.0.30111" targetFramework="net472" />
16-
<package id="Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime" version="14.3.26929" targetFramework="net472" />
17-
<package id="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime" version="15.0.26929" targetFramework="net472" />
18-
<package id="Microsoft.VisualStudio.Shell.Interop.15.6.DesignTime" version="15.6.27413" targetFramework="net472" />
19-
<package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50728" targetFramework="net472" />
20-
<package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30730" targetFramework="net472" />
21-
<package id="Microsoft.VisualStudio.Text.Data" version="16.0.467" targetFramework="net472" />
22-
<package id="Microsoft.VisualStudio.Text.Logic" version="16.0.467" targetFramework="net472" />
23-
<package id="Microsoft.VisualStudio.Text.UI" version="16.0.467" targetFramework="net472" />
24-
<package id="Microsoft.VisualStudio.Text.UI.Wpf" version="16.0.467" targetFramework="net472" />
25-
<package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6071" targetFramework="net472" />
26-
<package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50728" targetFramework="net472" />
27-
<package id="Microsoft.VisualStudio.Threading" version="16.0.102" targetFramework="net472" />
28-
<package id="Microsoft.VisualStudio.Threading.Analyzers" version="16.0.102" targetFramework="net45" />
29-
<package id="Microsoft.VisualStudio.Utilities" version="16.0.28729" targetFramework="net472" />
30-
<package id="Microsoft.VisualStudio.Validation" version="15.3.58" targetFramework="net472" />
3+
<package id="Microsoft.VisualStudio.CoreUtility" version="15.0.26201" targetFramework="net46" />
4+
<package id="Microsoft.VisualStudio.Imaging" version="15.0.26201" targetFramework="net46" />
5+
<package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6071" targetFramework="net46" />
6+
<package id="Microsoft.VisualStudio.SDK.EmbedInteropTypes" version="15.0.16" targetFramework="net46" />
7+
<package id="Microsoft.VisualStudio.Shell.15.0" version="15.0.26201" targetFramework="net46" />
8+
<package id="Microsoft.VisualStudio.Shell.Framework" version="15.0.26201" targetFramework="net46" />
9+
<package id="Microsoft.VisualStudio.Shell.Interop" version="7.10.6072" targetFramework="net46" />
10+
<package id="Microsoft.VisualStudio.Shell.Interop.10.0" version="10.0.30320" targetFramework="net46" />
11+
<package id="Microsoft.VisualStudio.Shell.Interop.11.0" version="11.0.61031" targetFramework="net46" />
12+
<package id="Microsoft.VisualStudio.Shell.Interop.12.0" version="12.0.30111" targetFramework="net46" />
13+
<package id="Microsoft.VisualStudio.Shell.Interop.8.0" version="8.0.50728" targetFramework="net46" />
14+
<package id="Microsoft.VisualStudio.Shell.Interop.9.0" version="9.0.30730" targetFramework="net46" />
15+
<package id="Microsoft.VisualStudio.Text.Data" version="15.0.26201" targetFramework="net46" />
16+
<package id="Microsoft.VisualStudio.Text.Logic" version="15.0.26201" targetFramework="net46" />
17+
<package id="Microsoft.VisualStudio.Text.UI" version="15.0.26201" targetFramework="net46" />
18+
<package id="Microsoft.VisualStudio.Text.UI.Wpf" version="15.0.26201" targetFramework="net46" />
19+
<package id="Microsoft.VisualStudio.TextManager.Interop" version="7.10.6071" targetFramework="net46" />
20+
<package id="Microsoft.VisualStudio.TextManager.Interop.8.0" version="8.0.50728" targetFramework="net46" />
21+
<package id="Microsoft.VisualStudio.Threading" version="15.0.240" targetFramework="net46" />
22+
<package id="Microsoft.VisualStudio.Utilities" version="15.0.26201" targetFramework="net46" />
23+
<package id="Microsoft.VisualStudio.Validation" version="15.0.82" targetFramework="net46" />
3124
<package id="Microsoft.VSSDK.BuildTools" version="16.1.3121" targetFramework="net472" developmentDependency="true" />
32-
<package id="Nerdbank.Streams" version="2.1.37" targetFramework="net472" />
33-
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net472" />
34-
<package id="StreamJsonRpc" version="2.0.180" targetFramework="net472" />
35-
<package id="System.Buffers" version="4.5.0" targetFramework="net472" />
36-
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
37-
<package id="System.IO" version="4.3.0" targetFramework="net472" />
38-
<package id="System.IO.Pipelines" version="4.5.3" targetFramework="net472" />
39-
<package id="System.Memory" version="4.5.2" targetFramework="net472" />
40-
<package id="System.Net.Http" version="4.3.4" targetFramework="net472" />
41-
<package id="System.Net.WebSockets" version="4.3.0" targetFramework="net472" />
42-
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
43-
<package id="System.Reflection.Emit" version="4.3.0" targetFramework="net472" />
44-
<package id="System.Runtime" version="4.3.1" targetFramework="net472" />
45-
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net472" />
46-
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net472" />
47-
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net472" />
48-
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net472" />
49-
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net472" />
50-
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net472" />
51-
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
5225
</packages>
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
33
<Metadata>
4-
<Identity Id="C3E3372B-022D-4E19-BD83-EEDD6FA01E5C" Version="3.0.0" Language="en-US" Publisher="Lkytal" />
4+
<Identity Id="C3E3372B-022D-4E19-BD83-EEDD6FA01E5C" Version="3.1.0" Language="en-US" Publisher="Lkytal" />
55
<DisplayName>Smooth Scroll</DisplayName>
6-
<Description xml:space="preserve">Smooth Scroll for VS2013, VS2015, VS2017 and VS2019</Description>
6+
<Description xml:space="preserve">Smooth Scroll for VS2017 and VS2019</Description>
77
<MoreInfo>https://github.com/lkytal/SmoothScroll</MoreInfo>
88
<License>Resources\LICENSE.txt</License>
99
<Icon>Resources\icon.png</Icon>
1010
<Tags>mouse, scroll, scrolling, smooth, Smooth Scroll</Tags>
1111
</Metadata>
1212
<Installation InstalledByMsi="false">
13-
<InstallationTarget Version="[12.0,17.0)" Id="Microsoft.VisualStudio.Pro" />
14-
<InstallationTarget Version="[12.0,17.0)" Id="Microsoft.VisualStudio.Community" />
13+
<InstallationTarget Version="[15.0,17.0)" Id="Microsoft.VisualStudio.Pro" />
14+
<InstallationTarget Version="[15.0,17.0)" Id="Microsoft.VisualStudio.Community" />
1515
</Installation>
1616
<Dependencies>
1717
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
18-
<Dependency Id="Microsoft.VisualStudio.MPF.12.0" DisplayName="Visual Studio MPF 12.0" d:Source="Installed" Version="[12.0, 17.0)" />
18+
<Dependency Id="Microsoft.VisualStudio.MPF.12.0" DisplayName="Visual Studio MPF 12.0" d:Source="Installed" Version="[15.0, 17.0)" />
1919
</Dependencies>
2020
<Assets>
2121
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="|%CurrentProject%|" d:Source="Project" d:ProjectName="%CurrentProject%" d:VsixSubPath="SmoothScroll.dll" />
2222
</Assets>
2323
<Prerequisites>
24-
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[12.0,17.0)" DisplayName="Visual Studio 核心编辑器" />
24+
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0, 17.0)" DisplayName="Visual Studio 核心编辑器" />
2525
</Prerequisites>
2626
</PackageManifest>

UnitTest/app.config

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,26 @@
3030
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
3131
<bindingRedirect oldVersion="0.0.0.0-1.2.3.0" newVersion="1.2.3.0" />
3232
</dependentAssembly>
33+
<dependentAssembly>
34+
<assemblyIdentity name="Microsoft.VisualStudio.CoreUtility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
35+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
36+
</dependentAssembly>
37+
<dependentAssembly>
38+
<assemblyIdentity name="Microsoft.VisualStudio.Text.Data" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
39+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
40+
</dependentAssembly>
41+
<dependentAssembly>
42+
<assemblyIdentity name="Microsoft.VisualStudio.Text.UI" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
43+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
44+
</dependentAssembly>
45+
<dependentAssembly>
46+
<assemblyIdentity name="Microsoft.VisualStudio.Text.Logic" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
47+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
48+
</dependentAssembly>
49+
<dependentAssembly>
50+
<assemblyIdentity name="Microsoft.VisualStudio.Text.UI.Wpf" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
51+
<bindingRedirect oldVersion="0.0.0.0-15.0.0.0" newVersion="15.0.0.0" />
52+
</dependentAssembly>
3353
</assemblyBinding>
3454
</runtime>
3555
</configuration>

scrollController/ScrollController.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class ScrollController
2222
private double totalDistance, remain;
2323
private int totalRounds, round;
2424

25-
private Task workingThread;
25+
private Task workingThread = null;
2626

2727
public ScrollController(IPageScroller _pageScroller, ScrollingDirection _direction)
2828
{
@@ -93,7 +93,6 @@ private int CalculateScrollDistance()
9393
public void StopScroll()
9494
{
9595
workingThread?.Wait(100);
96-
9796
CleanupScroll();
9897
}
9998

0 commit comments

Comments
 (0)