Mark Miller

February 2011 - Posts

  • 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.

LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners