Downloads of v 2.5.0
Average downloads per day
Share on Social Networks
Clide: An Enjoyable IDE Automation API
High-level, composable and testable APIs for working with IDEs.
To install Clide: An Enjoyable IDE Automation API, run the following command in the Package Manager Console
* 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.
* Dropped .NET 4.0 and therefore VS2010 support.
* Added general-purpose referencing service
* 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
* 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)]
* 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.
* 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.
* 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).
* 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
* Full support for MEF-exported commands (ICommandExtension) and command filters
* ToolWindow support
* Tools options pages support
This package has no dependencies.
|Clide 3.0.60-pre||15||Thursday, July 21, 2016|
|Clide 3.0.36-pre||33||Wednesday, January 20, 2016|
|Clide 3.0.35-pre||26||Wednesday, January 20, 2016|
|Clide 3.0.32-pre||25||Tuesday, January 19, 2016|
|Clide 3.0.28-pre||26||Tuesday, January 19, 2016|
|Clide 3.0.27-pre||25||Tuesday, January 19, 2016|
|Clide 3.0.26-pre||26||Monday, January 18, 2016|
|Clide 3.0.25-pre||27||Monday, January 18, 2016|
|Clide 3.0.24-pre||27||Monday, January 18, 2016|
|Clide 3.0.23-pre||24||Saturday, January 16, 2016|
|Clide 3.0.22-pre||26||Saturday, January 16, 2016|
|Clide 3.0.21-pre||34||Friday, January 15, 2016|
|Clide 3.0.20-pre||25||Friday, January 15, 2016|
|Clide 3.0.19-pre||30||Friday, January 15, 2016|
|Clide 3.0.17-pre||27||Friday, January 15, 2016|
|Clide 3.0.16-pre||34||Friday, January 15, 2016|
|Clide 3.0.14-pre||26||Friday, January 15, 2016|
|Clide 3.0.12-pre||35||Friday, January 15, 2016|
|Clide 3.0.10-pre||31||Thursday, January 14, 2016|
|Clide 3.0.9-pre||25||Thursday, January 14, 2016|
|Clide: An Enjoyab... 2.5.0 (this version)||61||Thursday, May 5, 2016|
|Clide: An Enjoyab... 2.4.12||101||Monday, February 22, 2016|
|Clide: An Enjoyab... 2.4.11||86||Monday, January 11, 2016|
|Clide: An Enjoyab... 2.4.10||122||Tuesday, December 22, 2015|
|Clide: An Enjoyab... 2.4.8||37||Tuesday, December 22, 2015|
|Clide: An Enjoyab... 2.4.7||38||Tuesday, December 22, 2015|
|Clide: An Enjoyab... 2.3.48||41||Monday, December 21, 2015|
|Clide: An Enjoyab... 2.3.46||50||Monday, December 14, 2015|
|Clide: An Enjoyab... 2.3.42||35||Monday, December 14, 2015|
|Clide: An Enjoyab... 2.3.39||36||Monday, December 14, 2015|
|Clide: An Enjoyab... 2.3.37||36||Monday, December 14, 2015|
|Clide: An Enjoyab... 2.3.33||115||Wednesday, November 11, 2015|
|Clide: An Enjoyab... 2.3.32||61||Wednesday, November 4, 2015|
|Clide: An Enjoyab... 2.3.31||181||Tuesday, July 28, 2015|
|Clide: An Enjoyab... 2.3.29||134||Wednesday, June 24, 2015|
|Clide: An Enjoyab... 2.3.28||63||Wednesday, June 24, 2015|
|Clide: An Enjoyab... 2.3.27||94||Monday, May 11, 2015|
|Clide: An Enjoyab... 2.3.26||94||Monday, May 11, 2015|
|Clide: An Enjoyab... 2.3.25||61||Monday, May 11, 2015|
|Clide: An Enjoyab... 2.3.24||100||Tuesday, March 17, 2015|
|Clide: An Enjoyab... 2.3.20||170||Friday, December 5, 2014|
|Clide: An Enjoyab... 2.3.16||74||Thursday, December 4, 2014|
|Clide: An Enjoyab... 2.3.15||81||Wednesday, December 3, 2014|
|Clide: An Enjoyab... 2.3.14||73||Tuesday, December 2, 2014|
|Clide: An Enjoyab... 2.3.13||70||Tuesday, December 2, 2014|
|Clide: An Enjoyab... 2.3.12||85||Wednesday, November 26, 2014|
|Clide: An Enjoyab... 2.3.11||135||Tuesday, October 28, 2014|
|Clide: An Enjoyab... 2.3.10||91||Tuesday, October 28, 2014|
|Clide: An Enjoyab... 2.3.9||74||Tuesday, October 28, 2014|
|Clide: An Enjoyab... 2.3.8||73||Tuesday, October 28, 2014|
|Clide: An Enjoyab... 2.3.7||80||Tuesday, October 28, 2014|
|Clide: An Enjoyab... 2.3.6||107||Wednesday, October 8, 2014|
|Clide: An Enjoyab... 2.3.5||115||Tuesday, September 23, 2014|
|Clide: An Enjoyab... 2.3.2||248||Thursday, January 9, 2014|
|Clide: An Enjoyab... 2.2.1312.318||152||Monday, January 6, 2014|
|Clide: An Enjoyab... 2.1.1306.2716||233||Thursday, June 27, 2013|
|Clide: An Enjoyab... 2.1.1306.2619||115||Wednesday, June 26, 2013|
|Clide: An Enjoyab... 2.0.1306.1821||128||Tuesday, June 18, 2013|
|Clide: An Enjoyab... 2.0.1306.1719||120||Tuesday, June 18, 2013|
|Clide 2.0.1306.1119||120||Tuesday, June 11, 2013|
|Clide 2.0.1306.1118||190||Tuesday, June 11, 2013|
|Clide 2.0.1306.1117||117||Tuesday, June 11, 2013|
|Clide 2.0.1306.1015||121||Monday, June 10, 2013|
|Clide 2.0.1306.816||246||Saturday, June 8, 2013|
|Clide 2.0.1306.719||164||Friday, June 7, 2013|
|Clide 1.4.1305.2320||237||Thursday, May 23, 2013|
|Clide 1.4.1305.2305||121||Thursday, May 23, 2013|
|Clide 1.4.1305.2302||118||Thursday, May 23, 2013|
|Clide 1.4.1305.2211||117||Wednesday, May 22, 2013|
|Clide 1.4.1305.2205||116||Wednesday, May 22, 2013|
|Clide 1.4.1305.2120||114||Tuesday, May 21, 2013|
|Clide 1.4.1305.1705||127||Friday, May 17, 2013|
|Clide 1.3.1305.1514||130||Wednesday, May 15, 2013|
|Clide 1.3.1301.2116||173||Monday, January 21, 2013|
|Clide 1.3.1301.1823||139||Friday, January 18, 2013|
|Clide 1.3.1301.1815||132||Friday, January 18, 2013|
|Clide 1.3.1301.1721||213||Friday, January 18, 2013|
|Clide 1.2.1301.1419||135||Monday, January 14, 2013|
|Clide 1.2.1301.1414||133||Monday, January 14, 2013|
|Clide 1.2.1301.1016||138||Thursday, January 10, 2013|
|Clide 1.2.1301.921||167||Wednesday, January 9, 2013|
|Clide 1.2.1301.915||164||Wednesday, January 9, 2013|
|Clide 1.2.1301.903||175||Wednesday, January 9, 2013|
|Clide 1.2.1301.821||175||Tuesday, January 8, 2013|
|Clide 1.2.1301.820||173||Tuesday, January 8, 2013|
|Clide 1.2.1301.816||170||Tuesday, January 8, 2013|
|Clide 1.2.1301.420||179||Friday, January 4, 2013|
|Clide 1.2.1301.323||174||Thursday, January 3, 2013|
|Clide 1.2.1301.320||176||Thursday, January 3, 2013|
|Clide 1.1.1212.1720||135||Monday, December 17, 2012|
|Clide 1.1.1212.1715||130||Monday, December 17, 2012|
|Clide 1.1.1212.1405||126||Friday, December 14, 2012|
|Clide 1.0.1211.3003||153||Friday, November 30, 2012|
|Clide 1.0.1211.2917||130||Thursday, November 29, 2012|
|Clide 1.0.1211.2813||135||Wednesday, November 28, 2012|
|Clide 1.0.1211.2719||146||Tuesday, November 27, 2012|
|Clide 1.0.1211.2014||135||Friday, November 23, 2012|
|Clide 1.0.1211.1917||137||Monday, November 19, 2012|
|Clide 1.0.1211.1906||123||Monday, November 19, 2012|