How is region handling awful in SSMS 2012?
Is it quirky and inconsistent or does it have a poor overall design?
sqlguy-736318 (5/11/2013)
How is region handling awful in SSMS 2012?Is it quirky and inconsistent or does it have a poor overall design?
Both.
It is single level and automatic, so you can't define your own regions, it tries to guess based on parsing the query window, which also leads to poor performance when editing, and it gets it's guesses badly wrong a lot of the time.
Here is a simple example of how it gets it wrong:
Thankfully SSMS 2012 is built on VS2010, so you can write your own addins quite easily, including a region handler. I had a go myself a while back using a sample on MSDN and it worked ok (similar to VS, using #region flags with titles and previews) but in the end I don't use it because I just don't need it/like it.
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
yes - the code folding in that screenshot appears to do more harm than good.
However, you mentioned a plugin could be written to use regions in a way that's more similar to the ones implemented in VS2010.
You also mentioned that there was some existing code floating around for this implementation.
Is there some kind of codeproject page, etc, with a working plugin and code that I can download and tweak for my own use?
sqlguy-736318 (5/15/2013)
yes - the code folding in that screenshot appears to do more harm than good.However, you mentioned a plugin could be written to use regions in a way that's more similar to the ones implemented in VS2010.
You also mentioned that there was some existing code floating around for this implementation.
Is there some kind of codeproject page, etc, with a working plugin and code that I can download and tweak for my own use?
I don't know about a full project you could use, but this is the page I followed when I tried it - however I am pretty sure this will only work with SSMS 2012 because it is based on VS2010, whereas SSMS 2008 is based on VS 2008 and I don't think that had MEF...
http://msdn.microsoft.com/en-us/library/vstudio/ee197665(v=vs.100).aspx
If you do try it yourself, make sure you put the region handling code in a separate thread and be prepared to handle that code being called a lot when editing...you may want to delay activation of your code and/or kill an "in progress" parsing run in order to start again.
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
SSMSBoost is another free add-in for SSMS and we have recently added support for Regions syntax:
--#region [Optional Name]
--#endregion
It has also an option to automatically "recognize" regions when opening scripts.
Add-in works with SSMS 2008/R2/2012. 2014 support is coming with next version.
Viewing 9 posts - 1 through 9 (of 9 total)
You must be logged in to reply to this topic. Login to reply