VSSDKAssist
This new version includes several bug fixes and it is compatible with GAX February 2008 RTM.
You can download it from here.
Pablo
I am pleased to announce that VSSDK Assist October 2007 CTP is out and available for download.
Features:
- Visual Studio 2008 Beta 2 and Visual Studio 2008 SDK August 2007 CTP support
- RANU support
- VSCT code generation
- Visual Basic support
- New Visual Basic solution and project templates
- New Visual Basic Code snippets
- Code generation updated to support Visual Basic
- VS Custom Tools / Single file generators creation support
For more information please visit http://www.codeplex.com/vssdkassist
Links:
Release
https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=vssdkassist&ReleaseId=7644
Pre-requisites
http://www.codeplex.com/vssdkassist/Wiki/View.aspx?title=Pre-requisites&referringTitle=Home
Pablo
Ken Levy, product manager of the VSX team just published the VSX community letter for July 07.
In my opinion this initiative provides a lot of transparency to the community about what the VSX team has been working on, recent news, announcements, events and on what they are working on now plus the roadmap for the future. Following this direction there is also a VSX Team blog.
Of course there is a lot of work to do to build a VSX community, my friend and VSX guru Victor already mentioned his vision of a VSX Community and I completely agree with him.
But I think that this is a really good thing and the VSX team is going to put a lot of effort to continue building the community.
On the news section there is a pointer to VSSDK Assist, many thanks to Ken and the VSX team to provide a pointer on the community letter and to increase the visibility of the project.
Pablo
Let’s make a small introduction first:
Visual studio provides three levels of extensibility:
·
Macros
o
Macros are not new and we know them from Office
·
Add-ins
o
This is the next level in the VSX hierarchy, it provides more powerful extensibility points and full control of the Visual Studio Automation Object model
·
Packages
o
This is the last level in the VSX hierarchy, it provides more power and flexibility than the Visual Studio Automation Object model
Packages:
Creating a VS Package is not a simple task and the beginning it was only for C++ experienced developers.
With the inclusion of the Manage Package Framework (MPF) developing a Vs Package got easier because MPF allows a VSX developer to extend VS using managed code.
But in my opinion a set of tools on top of the MPF were missing. A set of tools that provide a higher level of abstraction, guidance, best practices and code generation to support the creation on VSX assets, a set of tools that can make the learning curve really low and most important a set of tools that can boost your productivity.
VSSDK Assist to the rescue:
A couple of months ago I started on codeplex a project named VSIPFactory. This project was the beginning of this vision.
It then became VSSDK Assist and the current version provides an initial toolset of utilities that allow a VSX developer to:
Create:
·
VS Package solution
·
VS Package project
·
VS Services
·
VS Tool Windows
·
VS Commands
·
VS Tool Options Pages
·
Subscribe to VS Events
Configure:
·
VS Package
·
VS about/splash screens
Deploy:
·
Configure VS Package Load Key
·
Create VS Package Deployment Information
Test:
·
Create VS Package Load Key Report
·
Test VS Package Load Key
·
Test VS Splash Screen
Utility:
·
Register VS Packages
·
Unregister VS Packages
·
Refresh VS Package Registration Information
·
Launch VS on Experimental Hive
·
Browse your VS Package
Of course this is only the beginning, future versions will cover more and more Visual Studio Extensibility points.
So go and download it J
Pablo
The Visual Studio 2008 Shell was just announced. After seeing the screenshots and reading the main features:
-
Faster Development. The Visual Studio Shell accelerates development by providing a base integrated development environment that can host custom tools and programming languages.
-
A Familiar Environment. Developers can build on the Visual Studio platform and provide end users a familiar user interface, speeding the learning curve for both.
-
Optimized for Languages & Tools. Created in response to requests from our partners, the Visual Studio Shell gives you the option of integrating your tools with Visual Studio or creating an isolated, custom-branded application.
I can only say WOW; finally extending VS will be much easier. :)
Meanwhile you can continue using VSIPFactory and of course a version running on top of Visual Studio 2008 Shell will be available in the future. :)
Pablo
The Visual Studio authenticates valid VSPackages that users can install and use by using package load keys (PLKs).
A PLK is a public-key encoded string that is generated for a specific VSPackage. Visual Studio authenticates the PLK to before loading the VSPackage into the Visual Studio integrated development environment.
A PLK can be obtained for free from the Visual Studio Industry Partner Web site.
Once we obtain one we need to install it. This process is really simple but with VSIPFactory is even simpler :)
Steps:
-
Enable VSIPFactory
- Right click on the VSPackage Project
- Choose VSIPFactory\Deploy\Configure VS Package Load Key
- Specify the information about the Package
- Specify the PLK
Note:
The PLK is created based on the following information:
Package Guid
Company Name (This is entered when first creating your login on the Visual Studio Industry Partner Web site)
Product Name (This is entered when first creating the product information)
Product Version
Mininum Visual Studio Edition
If you change any of these values you must obtain a new PLK from the Visual Studio Industry Partner Web site
Pablo
I am currently working on my spare time on the next CTP of VSIPFactory, and in particular in a new feature that will be called the "Package Browser".
The Package Browser basically gives you useful information about a VSPackage and a snapshot of the assets that it provides. The current implementation only shows Services and ToolWindows. On the future it will provide information about Commands, Option pages and so on. It is of course integrated with VS and is used at design time when are at the developing stage.
As you may know VSIPFactory is an open source project and I am really open to suggestions to improve the authoring of Visual Studio Extensibility assets, so please let me know if you have any feedback before releasing it on the next CTP.
Some screenshots:
Package information:
ToolWindow information:
Pablo
One of the new features of the Visual Studio 2005 SDK Version 4.0 is the Package Load Analyzer.
Based on this tool VSIPFactory automates the creation of the PLK report at "design time" and displays the result into the VS Output Window.
Steps:
-
Enable VSIPFactory
- Right click on the VSPackage Project
- Choose VSIPFactory\Test\Create VS Package Load Key Report
- The report is shown of the VS Output Window
If the PLK verification fails here you have some useful pointers to troubleshoot the issue:
http://msdn2.microsoft.com/en-us/library/bb164677(VS.80).aspx
http://blogs.msdn.com/dr._ex/archive/2006/12/14/debugging-package-load-failures.aspx
Pablo
Before focusing on the creation of a VS Service with VSIPFactory, some little background:
- A VS Service is a contract between two VSPackages. One VSPackage offers a specific set of interfaces for another VSPackage to consume.
- A VS Service needs to be registered with VS, after we register it we can start consuming it
- Some useful pointers:
Now the steps to create a Service with VSIPFactory:
-
Enable VSIPFactory
- Right click on the VSPackage Project
- Choose VSIPFactory\Create\VS Service
- Specify the Service Name
- Provide the contract definition on the generated IService interface
- Provide the contract implementation on the generated service class
- Thats all :)
Pablo
VS SP1 introduced a really useful feature that will allow us to find any command GUID:ID pair.
To enable the feature we need to:
- Add the following registry information
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\General]
"EnableVSIPLogging"=dword:00000001
- Open a new instance of VS
Example usage:
Suppose that you want to find the GUID:ID pair of the File\Open menu item:
- Click on the File menu
- Hover the mouse over the Open sub menu
- Press CTRL + SHIFT
- Click on the Open menu
You could also use VSIPFactory to enable the feature for you:
Tip:
To get the content of the window you need to select the window and then press CTRL+C and paste it on a Notepad for example.
Pablo
The May 07 CTP version of VSIPFactory is out and it
has a lot of new cool features:
Create:
*
VS Package solution (VS solution template)
*
VS Package project (VS project template)
*
VS Services
*
VS Tool Windows
*
VS Commands
*
VS Tool Options Pages
*
Subscribe to VS Events
*
VS Solution Events
*
VS Build Events
*
VS RDT Events
*
VS Project Item Events
*
VS File Change Events
Configure:
*
VS Package
*
VS about/splash screens
Deploy:
*
Configure VS Package Load Key
*
Create VS Package Deployment Information
Test:
*
Create VS Package Load Key Report
*
Test VS Package Load Key
*
Test VS Splash Screen
Utility:
*
Register VS Package
*
Unregister VS Package
*
Refresh VS Package Registration Information
*
Launch VS on Experimental Hive
DSL authoring:
*
Templates transformation per project / folder
You can download it from:
http://www.codeplex.com/vsipfactory/Release/ProjectReleases.aspx?ReleaseId=4070
Screenshots:
http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Screenshots&referringTitle=Home
Documentation links:
http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Pre-requisites&referringTitle=Home
http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Install&referringTitle=Home
http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Usage&referringTitle=Home
PS: If you want to see the plan for the next release please visit the roadmap section
Pablo
The M0 version of VSIPFactory was just released!
“VSIPFactory - A Software Factory for Visual Studio Extensibility”
M0 Features:
·
Recipe for creating a VS service
·
Recipe for creating a VS tool window
·
Recipe for creating a VS command
·
Recipe for configuring VSIP package
·
Recipe for configuring VSIP package PLK
·
Recipe for configuring VS splash/about screens
·
Recipe for registering/unregistering a VSIP package
You can download it from:
http://www.codeplex.com/vsipfactory/Release/ProjectReleases.aspx?ReleaseId=2829
Pablo