Updating Plug-ins on the Community Site

Update: The content at the community site has been updated, and nearly all the plug-ins there currently build with 10.2.

 

Binary plug-in compatibility across versions of the DXCore is a huge priority for us. For most of our releases, we’ve delivered on that intention; after updating you could simply continue to use a plug-in compiled for a previous version. In a few releases, we required a recompile but no source code changes to the plug-in. In 2010, we introduced changes that meant the code had to change in a few plug-ins that were still using the obsolete architecture, and we moved our parsers out to a separate DLL.

 

 

There are CodeRush and DXCore plug-ins out on the community site in need of updates to match the architectural changes introduced in 10.1 and 10.2. Here’s where things currently stand at the community site:

 

No Changes Needed

The following plug-ins compile:

  • CR_BlockPainterPlus
  • CR_CCConsole
  • CR_ClearAllMarkers
  • CR_CodeIssuesContrib
  • CR_CreateTestMethod
  • CR_DeclareClassInProject
  • CR_DrawLinesBetweenMethods
  • CR_ExecuteScript
  • CR_GenerateTest
  • CR_JumpToImplementation
  • CR_Loop
  • CR_MetricShader
  • CR_NavigateToTest

Need References

The following plug-ins need to add a reference to DevExpress.DXCore.Parser:

 

  • CR_CodeBlockContentProviders 
  • CR_ColorizeMemberNames 
  • CR_CreateDelegate
  • CR_CreateHeader
  • CR_DumbAss_Issues
  • CR_EnhancedForEach
  • CR_EasyGoto – also Specific Version needs to be set to false for DevExpress.CodeRush.Library
  • CR_EventHandlerCheckTC
  • CR_ExceptionHelper – also needs ambiguous Xml references changed to System.Xml and needs a change to DxCoreEvents1_EditorPaintForeground handler which uses m_Highlighter
  • CR_Execute
  • CR_MoveFile
  • CR_MsdnBclHelp
  • CR_MultiFileTemplates
  • CR_NavigationContrib
The following plug-ins need references to both DevExpress.DXCore.Controls.Utils.v6.3 and DevExpress.DXCore.Parser.
  • CR_Initials
  • CR_MarkerExtensions
  • CR_mdMarkerExtensions (also needs to change LocatorBeacon to GdiLocatorBeacon)

 
The following plug-ins need to set the Specific Version property to false for DevExpress.DXCore.Parser:

  • CR_NavigateToDefinition
  • CR_MethodNameReformatting
  • CR_MethodPreview


 
The following plug-in needs a reference to DevExpress.DXCore.Controls.Utils.v6.3 (with its Specific Version property to false)

  • CR_ClassCleaner

 

Code Changes Required

These plug-ins require some changes to the source code to meet the recent architecture changes.

CR_Colorizer

Needs reference to DevExpress.DXCore.Parser.
Adding this reference and recompiling produces this error:
Error    1    'DevExpress.CodeRush.Core.TextView' does not contain a definition for 'Repaint' and no extension method 'Repaint' accepting a first argument of type 'DevExpress.CodeRush.Core.TextView' could be found
 
We recommend fixing with this code:

    IGdiTextView gdiTextView = CodeRush.TextViews.Active as IGdiTextView;
    if (gdiTextView != null)

      gdiTextView.Repaint();


CR_NCover
Could not locate the assembly "Typemock.ArrangeActAssert, Version=5.3.1.0, Culture=neutral, PublicKeyToken=3dae460033b8d8e2, processorArchitecture=MSIL".

It also needs DevExpress.DXCore.Parser and DevExpress.DXCore.Platform references.


CR_ExtractHqlNamedQuery
Specific Version needs to be set to False for all DXCore assemblies
Needs references to DevExpress.DXCore.Controls.Utils.v6.3 and DevExpress.DXCore.Parser.
Also, the findFileInSolution method needs this change:

    SolutionElement solution = currentProject.Solution as SolutionElement;

    foreach (var project in solution.AllProjects)

And this:

    SourceFile namedQueriesXmlFile = getNamedQueriesXmlFile(hqlQueryElement.Project as ProjectElement);


Working to Make this Better

Both Rory Becker (CodeRush evangelist) and the CodeRush team are working right now to update the plug-ins at the community site. If you’re an author of one of these plug-ins, I encourage you to update your source code using the hints on this page (it might be a good idea to check first to make sure the fix hasn’t already been submitted). I want to thank you for your patience and support as we go through the 50+ plug-ins and update them accordingly. In the future as we prepare to release, the CodeRush team will check the new build against all the plug-ins on the community site and if there are any issues, we’ll either change things on our side or connect with the plug-in author and get them to change their code before we ship.

Our commitment is to a strong plug-in community. We will invest whatever it takes to support the plug-in community and make transitions to future versions as painless as possible.

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.