clarius - Clide 2.5.6

High-level, composable and testable APIs for working with IDEs.

PM> Install-Package Clide -Version 2.5.6 -Source https://www.myget.org/F/clarius/api/v3/index.json

Copy to clipboard

> nuget.exe install Clide -Version 2.5.6 -Source https://www.myget.org/F/clarius/api/v3/index.json

Copy to clipboard

> dotnet add package Clide --version 2.5.6 --source https://www.myget.org/F/clarius/api/v3/index.json

Copy to clipboard
<PackageReference Include="Clide" Version="2.5.6" />
Copy to clipboard
source https://www.myget.org/F/clarius/api/v3/index.json

nuget Clide  ~> 2.5.6
Copy to clipboard

> choco install Clide --version 2.5.6 --source https://www.myget.org/F/clarius/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "clarius" -SourceLocation "https://www.myget.org/F/clarius/api/v2"
Install-Module -Name "Clide" -RequiredVersion "2.5.6" -Repository "clarius" 
Copy to clipboard

Icon Clide

Build status Latest version Join the chat at https://gitter.im/MobileEssentials License

Clide is a managed, intuitive, modern and composable API for Visual Studio extensibility and automation.

It leverages dependency injection, supports unit testing of automation and extensibility code, and provides useful primitives for both consuming services and tools as well as providing your own to the environment.

How do I get it?

Install from https://nuget.org/packages/Clide

Install-Package Clide

v2.5

  • VS services are no longer automatically imported via constructor dependencies. This was causing significant performance degradation for little additional simplicity over just taking a dependency on a single constructor parameter [Import(typeof(SVsServiceProvider))] IServiceProvider services which can provide the same behavior in a much more explicit way. Typical pattern is for this parameter to be used in a public constructor together with the other MEF dependencies, and invoke an internal constructor with the actual dependencies (i.e. DTE, IVsShell, etc.) which are just extracted from the service provider at construction time. Also, this allows the component to decide to delay retrieval of these services, marshall to the UI thread as needed, etc.

v2.4

  • Dropped .NET 4.0 and therefore VS2010 support.

v2.2

  • Added general-purpose referencing service

v2.1

  • Added FindProjects extension method for ISolutionNode, which is more efficient than traversing the entire solution.
  • Improved support for side-by-side versioning of Clide assemblies deployed by multiple extensions

v2.0

  • Reworked internals to avoid depending on VS-MEF extensibility, which is problematic and may cause interference with VS composition.
  • Core DI now provided by Autofac, which gives us a performance boost in addition.
  • Components now don't need any [Import] or [ImportingConstructor] in order for constructor dependencies to work, even for core VS services like IServiceProvider or IVsShell, DTE, etc.
  • Types that have the ComponentAttribute applied are automatically registered.
  • Supports registering with a certain type (like [Export(typeof(IMyService))]): [Component(typeof(IMyService))]
  • Added support for registering components as single instance (singletons) using [Component(IsSingleton = true)]

v1.4

  • Fixes some performance issues due to MEF (lack of) caching
  • Tracing of MEF composition off by default (can be turned on for diagnostics via the registry)
  • Exposed ServiceLocator.GlobalProvider to get access to a thread-safe IServiceProvider for the entire Visual Studio IDE.
  • Removed usage of the problematic ServiceProvider.GlobalProvider (see above)
  • Removed usage of the problematic ThreadHelper for UI thread marshaling (now leveraging the WPF Dispatcher)
  • Added support for customizing what kinds of traces you want to receive on your output window via Host.Initialize
  • Fixed a potential hang when using the Tracer from a background thread
  • Fixed issue when a command filter was improperly configured.

v1.3

  • Expose CompositionContainer directly on IDevEnv. This simplifies many scenarios where you want to interact with the container. Users can still import ICompositionService.
  • Added support for intercepting arbitrary commands in the IDE via simple exports of ICommandInterceptor components, automatically registered when the host is initialized.
  • Moved MEF tracing/diagnostics to run on a separate background thread. This makes host initialization much faster.

v1.2

  • Refactored for easier reuse by offering two static entry points:
    • DevEnv.Get: gets the IDevEnv entry point API. This can be used from anywhere you can import an IServiceProvider. By default the instance is reused.
    • Host.Initialize: initializes a hosting package and its components (i.e. commands, filters, tool windows, etc.).
  • Single assembly now can be used for both VS2010 and VS2012: this means you no longer have to fork your extension for either IDE just because you use Clide (you may because of other dependencies, like VSMSDK).

v1.1

  • ISolutionExplorer API, with full solution traversal, behaviors for selecting, expanding and collapsing nodes, etc.
  • Integration with Adapter pattern for pluggable conversion of solution explorer nodes (i.e. projectNode.As<EnvDTE.Project>())
  • Improved diagnostics and debug-time rendering of nodes
  • Improved reporting of composition errors in the Clide output window

v1.0

  • Full support for MEF-exported commands (ICommandExtension) and command filters
  • ToolWindow support
  • Tools options pages support
  • Any 0.0
    • System.Diagnostics.Tracer (>= 2.0.1)

Owners

Clarius Labs kzu

Authors

Daniel Cazzulino

Project URL

https://github.com/clariuslabs/clide/

License

BSD-2-Clause

Tags

visualstudio vsx extensibility

Info

156 total downloads
3 downloads for version 2.5.6
Download (739.4 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
3.2.11+sha.275e374 294.46 KB Fri, 15 Jun 2018 17:37:00 GMT 5
3.1.9+sha.e67ff59 273.08 KB Thu, 31 May 2018 19:03:10 GMT 4
3.1.7+sha.372d468 272.96 KB Wed, 30 May 2018 19:58:12 GMT 3
3.1.6+sha.9214c6c 275.59 KB Mon, 14 May 2018 22:30:33 GMT 3
3.1.4+sha.89dbbeb 275.65 KB Mon, 19 Feb 2018 16:50:33 GMT 3
3.1.0+sha.8e3b68e 238.13 KB Thu, 11 Jan 2018 18:50:36 GMT 4
2.5.11 739.42 KB Wed, 26 Apr 2017 20:05:39 GMT 4
2.5.10 725.02 KB Fri, 07 Apr 2017 12:26:46 GMT 3
2.5.8 738.25 KB Tue, 01 Nov 2016 16:40:22 GMT 4
2.5.7 738.26 KB Thu, 27 Oct 2016 00:02:28 GMT 4
2.5.6 739.4 KB Wed, 28 Sep 2016 02:54:51 GMT 3
2.5.5 739.42 KB Thu, 01 Sep 2016 16:18:27 GMT 4
2.5.4 739.39 KB Thu, 01 Sep 2016 15:19:16 GMT 3
2.5.3 738.91 KB Fri, 12 Aug 2016 05:20:56 GMT 4
2.5.2 738.91 KB Tue, 09 Aug 2016 20:13:11 GMT 3
2.5.1 742.7 KB Tue, 09 Aug 2016 13:57:57 GMT 4
2.5.0 779.64 KB Thu, 05 May 2016 18:10:35 GMT 8
2.4.12 782.81 KB Mon, 22 Feb 2016 19:12:07 GMT 8
2.4.11 782.93 KB Mon, 11 Jan 2016 18:03:15 GMT 10
2.4.10 405.29 KB Tue, 22 Dec 2015 20:36:56 GMT 4
2.4.8 390.79 KB Tue, 22 Dec 2015 18:43:32 GMT 3
2.4.7 390.82 KB Tue, 22 Dec 2015 18:39:51 GMT 3
2.3.46 405.72 KB Thu, 17 Dec 2015 20:11:48 GMT 4
2.3.42 391.31 KB Mon, 14 Dec 2015 22:19:52 GMT 4
2.3.37 390.13 KB Mon, 14 Dec 2015 19:59:23 GMT 4
2.3.35 390.36 KB Mon, 14 Dec 2015 19:20:48 GMT 4
2.3.33 190.51 KB Wed, 11 Nov 2015 18:32:33 GMT 5
2.3.32 190.5 KB Wed, 04 Nov 2015 13:20:17 GMT 4
2.3.31 190.45 KB Tue, 28 Jul 2015 22:42:25 GMT 15
2.3.30 190.46 KB Tue, 28 Jul 2015 19:52:41 GMT 4
2.3.29 190.63 KB Wed, 24 Jun 2015 16:51:12 GMT 13
2.3.28 190.61 KB Wed, 24 Jun 2015 14:02:03 GMT 5