Allow negative wildcard inclusions
NCrunch allows you to add files and directory to include in the workspace using file globbing patterns. This is a great feature. However, this feature could be improved to also allow you to specify "negative inclusions", which would greatly benefit large solutions.
My solution has 107 projects in it and one of the projects is a test project that runs some "solution-wide" tests using Roslyn Compiler Services. So this test project requires that the entire solution be in the workspace. However, what I don't need are all the {bin,obj}*. files, just the *.cs and *.csproj files.
Currently, it's really difficult for large solutions to select a wide swatch of files, while also excluding only a few of the files that may fall under similar paths. It would be great to be able to specify, for example:
..\CommonProjectPrefix.*.*
!..\CommonProjectPrefix.**.{exe,dll}
Note another construct, also currently not supported: the braces which contain strings which would each be applied to the token before it (*. in this case).
This can greatly reduce the amount of disk space consumed by NCrunch when creating workspaces for test projects. (Currently, I'm out of disk space because I cannot finely tune without great and time-consuming effort the files that are copied into a workspace.)
-
Craig Shea commented
Also, the brace construct would allow you to reduce the number of explicit inclusions you need to create, for example:
..\**\*.cs{,proj}
would match all *.cs files and *.csproj files.