CodeMaid demo video now on YouTube

We’ve created a demo video on YouTube that walks through the CodeMaid features.

You can view it on our website here: http://www.codemaid.net/demo/
or directly on YouTube here: https://youtu.be/gZZ0XNQUXFA

Any feedback is certainly welcome, hope it helps! ūüôā

Posted in website | Leave a comment

CodeMaid v10.0 (10x edition) released!

CodeMaid v10.0¬†is now available on Visual Studio Gallery¬†and GitHub. This release adds support for¬†Visual Studio “15” Preview, the R language, a new CI channel and some consolidation¬†of our support sites. ¬†Read on! ūüôā

Features

  • #240 – Add support for Visual Studio “15” Preview
    • Freshly launched at BUILD this week, we’ve enabled support and will be experimenting with the latest and greatest Visual Studio. ūüôā
  • Card 265¬†– Add support for R language
  • Card 194¬†– Automate deploys through AppVeyor to create a CI channel
    • See below for details
  • Card 264¬†– Consolidate support sites
    • See below for details
  • #235¬†– Extended support for CodeMaid integration into solution explorer context menus to cover scenarios like selecting items in separate projects

Fixes

  • #231¬†– VB: Moving functions around in Spade wasn’t¬†moving¬†XML comments
  • #239¬†– Reorganize was not disabling in the presence of #pragma statements

v10.0.. wasn’t the last version v0.9.1?

You may have noticed we jumped from v0.9.1 to v10.0 with this release. ¬†We’ve always had the “0.” prefix as a cue that CodeMaid is a work in progress, similar to how Gmail kept the “beta” label on their website for years in production. ¬†Versioning is always hard (*cough*.. Visual Studio 2015 and Visual Studio “15”) but after 9 years, our “0.” is¬†feeling a little long in the tooth. ¬†We’ve dropped the “0.” to better follow semantic versioning and to enable our new automatic CI channel which is based¬†upon it.

Consolidating support sites

To make things simpler and avoid duplication, we’re making the following changes:

  • The backlog in Trello is being deprecated, and we’ll begin tracking enhancements alongside bugs within GitHub¬†using labels.
    • This is enabled by GitHub’s recent addition of reactions (including +1)¬†to issues. ¬†Having a sense of how popular an issue is has been really helpful in the past to¬†prioritize the changes¬†that will help the most people. ¬†Please keep voting!
    • This will help cut down on a *lot* of¬†cut/paste/link between the sites
    • We will be migrating the most active/popular cards from Trello to GitHub. ¬†We’ll likely leave behind a lot of the older/one-off requests to¬†do some backlog¬†pruning.
  • The Q&A section¬†on VSG¬†has been disabled in favor of¬†GitHub‘s searchable and much richer¬†Issues.
  • The Contact section on the website has been disabled in favor of¬†GitHub¬†to keep conversations public and searchable.
  • The¬†Google+¬†page has been deprecated, we’ll continue to announce releases through Twitter¬†and our Blog RSS.

New Continuous Integration (CI) channel

Thanks to AppVeyor‘s free support for open source projects and Mads Kristensen‘s great work enabling the Open VSIX Gallery, CodeMaid now has a CI channel. ¬†What this means is that every time a code change is committed to GitHub, our code is automatically compiled and a new version of CodeMaid is deployed for the adventurous. ¬†You can download¬†the latest version here¬†or even go as far as configuring Visual Studio to automatically update itself through a direct feed! ¬†Please keep in mind this is a raw CI channel and not for the faint of heart.

Summary

We hope you like the changes, and thanks to everyone who is helping to make CodeMaid better and better. ūüôā ¬†Questions/comments/contributions always welcome!

Posted in release | 2 Comments

CodeMaid v0.9.1 (heads up edition) released!

CodeMaid v0.9.1 is now available on Visual Studio Gallery¬†and GitHub. This release adds support for inserting file headers, cleaning any kind of file, and¬†more. ūüôā

Features

Cleaning

  • Card 88 – Enforce/update copyright statement headers
    • This is under the Cleaning->Update options – but currently will only¬†insert the provided text if it is not already present at the top of the file. ¬†The logic to remove existing copyrights was pulled for further consideration because we really don’t want to blanket remove existing comments that could be important.File Headers
  • Card 92 – Support basic cleanup on any file type
    • This is off by default, but you can toggle it on to make any other kind of file we don’t already recognize cleanable in a basic sense (i.e. Remove EOL whitespace, Remove blank lines at top and bottom, Remove multiple consecutive blank lines and either Remove or Insert EOF trailing new line).Clean Everything Else
  • #198¬†– VisualGDB¬†now supported (thanks adontz!)

Digging

  • #199¬†– Make Spade disappear/reappear when entering/exiting full screen mode (thanks iouri-s!)

Formatting

  • Card 220¬†– Added support for XML based list tags (thanks Willem Duncan!)

Others

  • #193¬†– Added undo transaction to insert region command (thanks Matthias Reitinger!)
  • Card 256 – Remove multithread operations performance option that was root of problems like #212

Fixes

  • #141¬†– Indentation of <code> examples in comments could be incorrect (thanks Willem Duncan!)
  • #166¬†– XML comment tags which contain a single <para> element may wrap strangely (thanks Willem Duncan!)
  • #180 – Windows Form designer does not save changes if save triggered from design window
  • #185 and #192¬†– When code models cannot be built an exception level warning is shown, but this is expected in some circumstances and should be a diagnostic level warning.
  • #190¬†– Cyclomatic complexity can be incorrect due to multi-line comments (thanks ChrisH07!)
  • #212 – Spade could hang VS2015 during a save due to the configuration option to multithread operations
  • #213 – Nested regions not fully deleted during reorganization’s removal of regions

Summary

Thanks to everyone who is contributing with bug reports, pull requests, feature suggestions and more. ūüôā ¬†If you haven’t contributed yet but have some interest, you can find¬†details on easily getting started right here.

You can stay connected through our menagerie of sites:

Project home, Documentation, News: www.codemaid.net
Download, Reviews: Visual Studio Gallery

Source code, Bugs: GitHub
Continuous Integration: AppVeyor 
Feature backlog: Trello

Blog RSS: www.codemaid.net
Twitter @codemaid: Twitter
Google+: Google+

Posted in release | Leave a comment

CodeMaid v0.9.0 (Spade upgrade edition) released!

CodeMaid v0.9.0¬†is now available on Visual Studio Gallery¬†and GitHub. ¬†This release again tackles the most popular feature requests off the Trello backlog (you’re voting there, right?) – and in particular is focused around some sweet upgrades to Spade, our¬†code digging tool window. ūüôā

Breaking Changes

To support the new Spade search bar, we have discontinued support for Visual Studio 2010.  The last version of CodeMaid that supports VS2010 is v0.8.1 which will remain available on GitHub.

Features

Cleaning

  • Card 254 PowerShell now supported (thanks Adam Driscoll!)PowerShell
  • Card 184 Node.JS now supported (thanks Filipe Oliveira!)

Digging (Spade)

  • Card 64 Multi-select drag and drop (use Ctrl and Shift keys like Explorer)Spade Multi-Select
  • Card 71 Search filtering like solution explorer (thanks Aliaksei Harshkalep!)Spade Search
  • Card 254 Multi-select option to insert new regionsSpade Insert Region

Fixes

  • #111 VB was reporting a warning about a caught exception when trying to determine if a method is an externally implemented interface
  • #141 Comment formatting was indenting literal sections like <code>
  • #153 Rename refactoring with automatic cleanup and automatic reorganization on save with removal of existing regions would get into an infinite loop and lockup Visual Studio.
  • #173 F# was not supported for comment formatting

Summary

We really hope you enjoy these upgrades, and thanks to everyone who is contributing! ūüôā

You can stay connected through our menagerie of sites:

Project home, Documentation, News: www.codemaid.net
Download, Reviews: Visual Studio Gallery

Source code, Bugs: GitHub
Continuous Integration: AppVeyor 
Feature backlog: Trello

Blog RSS: www.codemaid.net
Twitter @codemaid: Twitter
Google+: Google+

Posted in release | 5 Comments

CodeMaid v0.8.1 (quick bug fixes) released!

CodeMaid v0.8.1 is now available on Visual Studio Gallery¬†and GitHub. ¬†This release is just some quick bug fixes from the v0.8.0 major release. ūüôā

Fixes

  • #118 – VS2015 was showing a warning dialog on first population of Spade
  • #123 – Added support for blank line padding before single line comments to C/C++ style languages
  • #124 – Using Spade’s find references with peek windows would show an exception dialog
  • #130 – When inserting an explicit access modifier, and splitting a single line method onto multiple lines in the same cleanup cycle, an extra blank line was being inserted.
  • #131 – VS2015 XAML files were not enabled for cleanup via the Solution Explorer
  • #133 – VS2015 RTM was adding an access modifier to explicitly implemented events

Heads Up

As a heads up, we’ve decided to stop support for Visual Studio 2010 starting with the next major release (v0.9.0). ¬†This will allow us to make use of some newer VS APIs that are only available in VS2012 and higher, specifically to implement¬†Adding a search filter to Spade. ¬†The v0.8.x series will keep VS2010 compatibility and remain available on GitHub, but it will no longer be supported as we move forwards. ¬†Any feedback/thoughts on this decision is welcome on the Trello notification¬†here.

Summary

We hope you’re continuing to enjoy CodeMaid, we’re enjoying making it. ūüôā

You can stay connected through our menagerie of sites:

Project home, Documentation, News: www.codemaid.net
Download, Reviews: Visual Studio Gallery

Source code, Bugs: GitHub
Continuous Integration: AppVeyor 
Feature backlog: Trello

Blog RSS: www.codemaid.net
Twitter @codemaid: Twitter
Google+: Google+

Posted in release | Leave a comment

CodeMaid v0.8.0 (solution-specific settings) released!

CodeMaid v0.8.0 is now available on Visual Studio Gallery¬†and GitHub. ¬†This release tackles¬†the most popular feature request off the backlog – solution-specific settings. ¬†It’s also being released at the same time as the official launch of Visual Studio 2015… coincidence? ūüėČ

New Features

Card 108

  • Card 108 – Solution-specific settings
    • There are now user settings and solution-specific settings.
    • Solution-specific settings override user settings only when¬†specified.
    • Solution-specific settings are an “opt-in” feature on a per solution basis. ¬†You create them within the Options dialog by clicking the “Switch to Solution-Specific Settings” button in the top banner.
    • User settings are stored within your user profile
      • e.g. C:\Users\Steve\AppData\Local\CodeMaid\CodeMaid.config
    • Solution-specific settings are stored within your code base
      • e.g.¬†C:\src\codemaid\CodeMaid.config
    • Be sure to add the solution-specific CodeMaid.config to your source control if you want to share settings with other team members.
    • Your old settings¬†should‚ĄĘ be silently, automatically imported as your user settings.
    • “Configuration” dialog is now called “Options” for consistency with Visual Studio
  • #116 – Separate options for blank line padding of single-line properties and multi-line properties. Single-line properties will no longer pad by default, while multi-line properties will continue to pad by default.
  • Card 166 – Update settings persistence to work across VS updates
  • Card 230 – Close about dialog on any key

Bug Fixes

  • #56 – VS2015 was incorrectly adding explicit access modifiers to explicitly implemented members
  • #87 – Re-insertion of removed using statements could¬†cause duplicates
  • #90 – URL in XML doc no longer gets formatted as a list item
  • #94 – Reorganizing new method outside of regions could require two passes
  • #98 – Remove blank lines after attributes is now more selective to avoid false matches in some string literals
  • #106 – Comments adjacent to commented out code can still be formatted

Summary

We hope you’re continuing to enjoy CodeMaid, we’re enjoying making it. ūüôā

You can stay connected through our menagerie of sites:

Project home, Documentation, News: www.codemaid.net
Download, Reviews: Visual Studio Gallery

Source code, Bugs: GitHub
Continuous Integration: AppVeyor 
Feature backlog: Trello

Blog RSS: www.codemaid.net
Twitter @codemaid: Twitter
Google+: Google+

Posted in release | 5 Comments

CodeMaid v0.7.6 (moar! languages) released!

CodeMaid v0.7.6 is now available on Visual Studio Gallery¬†and GitHub. ¬†It’s a relatively small release, but we’ve got moar! languages and bug fixes. ūüôā

New Features

  • Card 208 – Add support for PHP (thanks Ioannis Kappas!)
    • Note: ¬†This integrates with¬†PHP Tools, a commercial tool.
  • Card 218 – Add support for JSON

Bug Fixes

  • #31¬†– Find in solution explorer failing in Spanish edition
  • #55 – Format lock up occurs on file with only comments
  • #58 – GUID case sensitivity issue with different tools
  • #59 – WiX project type can cause an exception to be thrown
  • #74 – Opening customize font dialog can throw an exception

Summary

Behind the scenes, I’ve been off working on a branch on the most popular (by far) feature request Card 108 – Configuration per solution. ¬†It’s a big one and taking time, but it’s coming along and planned to be a part of the next major release v0.8.0.

If you want to get more involved there are several ways to participate.  You can chime in on the product backlog in Trello.  Report issues or fork the code on GitHub.  Posting a review on VSG is always appreciated as well.  Finally you can become a beta tester (contact me) to help test the newest bits as they roll out.

Have fun. ūüôā

Posted in release | Leave a comment

CodeMaid v0.7.5 (third party party edition) released!

CodeMaid v0.7.5 is now available on Visual Studio Gallery¬†and GitHub. ¬†It’s a party for third party tools as we’ve made it easier to hook into a few favorites as well as specifying your own. ¬†Plus a lot of other new features and fixes.. read on. ūüôā

New Features

Cleaning

Card 111 РOption to insert end of file trailing new line (off by default)

Card 152 – Support cleanup exclusions for folder namesCard 152

Card 202¬†– “Compatibility” section in Configuration is now “Third Party” and supports additional tools as well as adding your own commands to be invoked during cleanup.Card 202

Digging (Spade)

Card 180 – Remember Spade order preference (persisted in configuration)Card 180

Reorganizing

Card 114 – Detect preprocessor directives during reorganization and prevent execution

Progressing

PR #35 – Build progress now better represents projects building in parallel (thanks Joel Low!)PR35

Sorting

Card 216 РHighlight sorted lines after a sort is completed

Bug Fixes

#14 – Top level self-closing xml comments (i.e. <inheritdoc />) getting expanded (thanks Willem Duncan!)

#15 – Comment formatting placing a space between XML element and following punctuation

#17 – Xml comments with <code> blocks and new lines won’t format

#18 – C++ MFC .RC2 files cannot have EOF terminator merged onto last content line

#21 – Comment formatting now handles hyphen only separating comment lines

#26 – Regular (two slash) comment directly adjacent to XML (three slash) comment was being treated as a single comment during formatting instead of two distinct comments

#31 – Finding command option to disable solution folder toggling workaround

#44 – User preference for #endregion tags was not being respected during reorganization

#48 – Configuration dialog would not open if you had another VS extension with a different version of the System.Windows.Interactivity.dll

#50 – Sorting is including an additional line when using side well line highlighting

#51 – About dialog would not always come back to top of VS window after switching to another application

Infrastructure

Card 196 – All SDK dependencies are now embedded in the lib folder so CI can run unit tests and contributors do not need to install both the VS2010 SDK and the VS2013 SDK.

XAML Styler

One of the very¬†popular feature requests (Card 50) is to support reordering attributes on XAML code. ¬†We looked into it and found some great existing tools such as XAML Styler¬†by Nico Vermeir that are dedicated to exactly that behavior. ¬†Instead of re-inventing the wheel, we’ve made it easy to hook XAML Styler into CodeMaid through our new Third Party area. ¬†Go give it a try. ūüôā

Summary

The positive reviews and word of mouth growth are always so encouraging to see.  If you want to get more involved there are several ways to participate.  You can chime in on the product backlog in Trello.  Report issues or fork the code on GitHub.  Posting a review on VSG is always appreciated as well.  Finally you can become a beta tester (contact me) to help test the newest bits as they roll out.

Now back to work.. there’s clean code to write! ūüôā

Posted in release | 1 Comment

CodeMaid <3 Visual Studio 2013 Community

If you haven’t heard the news – Microsoft announced yesterday¬†Visual Studio 2013 Community¬†edition. ¬†Community edition replaces the former Express edition – i.e. the free version¬†of Visual Studio.

So what’s the big deal? ¬†Well, express editions never supported extensions like CodeMaid – you had to have a professional edition or higher to¬†install extensions. ¬†Community edition though.. supports extensions!

Our late night gnomes have done some bleary eyed testing and are satisfied that “it works on my machine”. ūüėČ

So for all those people who have asked over the years for CodeMaid in their free version of Visual Studio.. go grab¬†Visual Studio 2013 Community,¬†your good buddy CodeMaid and get cleaning! ūüôā

Thanks to Microsoft for making this possible for all the open source, student, and hobbyists out there!

Posted in news | Leave a comment

CodeMaid v0.7.4 (community love edition) released!

CodeMaid v0.7.4 is now available on Visual Studio Gallery¬†and GitHub. ¬†We’re calling it the community love edition because we got a lot of¬†community input, moved to GitHub, added CI¬†and most of all – the bulk of the code changes were made by other members of the community which is a very welcome first for the CodeMaid project. ūüôā

New Features

Comment Formatting upgrades (thanks Willem Duncan!)

Card 156 РProper handling of <p> and <para> tags, they wrap to newlines
Card 170 РProper handling of <code> tags, they keep their content literal
Card 159 РOption to linebreak on all (root level) XML tags
Card 155¬†– Option to space XML tags inside (eg “<tag />“) and outside (eg “text¬†<tag/>text”)
Card 192 РProperly process nested XML tags

Comment Formatting Options

Added support for SCSS (thanks Giovanni Lambiase!)

Card 198 РAdded language support for SCSS

Card 198

Brought back the solution explorer toolbar buttons by popular demand

Card 199 РBring back solution explorer toolbar buttons

Card 199

Bug Fixes

#1 РAdded performance option related to loading models asynchronously that can be disabled as a workaround for VS2012 sporadic hang that can occur when auto-cleanup runs at the start of a build
#2 РBetter support for universal applications and shared projects

Infrastructure

Card 31 РMoved from Mercurial to Git
Card 30 РMoved from BitBucket to GitHub
Card 95¬†– Building deployments from VS2013. ¬†This means CodeMaid is now utilizing .NET 4.5. ¬†It also cut the deployment size in half.. not that anybody was complaining about 700KB to start with ūüėČ
Card 169 РBasic Continuous Integration
Card 201 РIntegrate better Bindable view model base from codecadwallader.com

Summary

Once again I really appreciate all of the involvement that is making CodeMaid more and more a community labor of love.  If you want to get more involved there are several ways to participate.  You can chime in on the product backlog in Trello.  Report issues or fork the code on GitHub.  Posting a review on VSG is always appreciated as well.  Finally you can become a beta tester (contact me) to help test the newest bits as they roll out.  It is as simple as joining a mailing list to get notified when there’s a new shiny! ;)

Rock on! ūüôā

Posted in release | Leave a comment