Here are a few of my favorite DXCore plugins.
In a recent post I mentioned that I migrated a project from VB.Net to C#. The conversion did not maintain regions. To help get the converted code all prettied up I used a couple of DXCore plugins: CR_ClassCleaner and CR_SortLines. John Luif is the creator of CR_ClassCleaner. This plugin did the heavy lifting of organization for me. It includes a Word doc for installation instructions. There he details 6 command actions:
- RemoveRegions: ctrl+shift+alt+I
- RemoveWhitespace: ctrl+shift+alt+K
- OrganizeWithRegions: ctrl+shift+alt+L
- OrganizeWORegions: ctrl+shift+alt+O
- SelectCurrentMember ctrl+P
- CutCurrentMember ctrl+shift+P
I used the OrganizeWithRegions command, here is a quick screen cast:
So far the plugins are the kind that you may not use everyday. These next few are of the everyday variety. I use them all the time.
First lets look a what Rory Becker has put together. I think he may have written more plugins than anyone else that is not in the employ of Developer Express.
It makes reading the code so much easier, It is much more of an in your face media rich experience. The highlighting is the main feature for me. When you place the cursor on a var/member/ref it highlights all the refs and declaration of that var/member. The highlighting coupled with CodeRush’s new reference jumping feature is spectacular. There used to be a a great video of the feature with Mark Miller and Julian Bucknall but they seem to have removed it :-(. Here is my weak replacement:
Mark did a much better job, but it is his job. Anyway all you have to do to jump to the next ref is press Tab, Shift+Tab to go backwards. There is also the companion Reference Tool Window:
Placing your cursor on a ref will populate the tool window when Live Sync is on, otherwise you click the sync button.
Rory’s UnusedVars plugin is simple. It shows you any unused vars:
Again this is helping to create a media rich experience. The realtime nature of these plugins is a key aspect as well.
The last plugin of Rory’s that I use is MoveIt. It is a Refactoring plugin. It offers 5 refactoring dealing with scope:
- Local to Private
- Local to Protected
- Local to Param
- Param to Local
- Move to Ancestor
Here is a complete list of the refactorings that come with Refactor!.
Lastly is Code Style Enforcer by Joel Fjordén. It has three main rule types: member visibility, interface implementation. and basic naming conventions. The naming convention is the most interesting to me. It uses user defined regular expressions to evaluate compliance. It comes predefined so if you are not a regex wiz the defaults are where it’s at. The tool tips don’t show in the animated gif below, they are what gives you a clue as to what you have done wrong so that you can fix it.