SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


code folding in ssms?


code folding in ssms?

Author
Message
sqlguy-736318
sqlguy-736318
Right there with Babe
Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)

Group: General Forum Members
Points: 763 Visits: 447
Hello - What are some techniques you use for code folding in SSMS? For example, in Visual Studio you can add regions like this:

#region Protected Methods

//some code here

#endregion

Then a developer can use the context menu in VS to auto-expand and auto-collapse all regions on the page.

For example, a new developer can choose to auto-collapse all regions of a class in order to understand the high-level structure of the class. I'm not aware of a similar way to do this in SSMS but I'm not a full-time SQL developer.

I've read that SSMS Tool Pack provides code folding capabilities. I used SSMS Tool Pack on a previous project and I liked it a lot. Unfortunately, it's no longer free Sad

So do you know if code folding is available in SSMS through a free external plugin or maybe in the latest or upcoming version? I'm currently using SS2008 R2....
Lowell
Lowell
SSC Guru
SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)SSC Guru (73K reputation)

Group: General Forum Members
Points: 73225 Visits: 40960
http://www.ssmstoolspack.com/Download

http://www.ssmstoolspack.com/Licensing

Licensing is only applicable to SSMS 2012 and higher versions.
For previous SSMS versions the SSMS Tools Pack is still FREE.


Lowell
--help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!
sqlguy-736318
sqlguy-736318
Right there with Babe
Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)

Group: General Forum Members
Points: 763 Visits: 447
I downloaded SSMS Tools Pack and the region functionality seems to be a bit quirky. For example, for 2 regions on top of each other, collapsing the top region seems to collapse the bottom region as part of it. Have you noticed this behavior? Also, if I just type:

--#region test
-- some sql
--#endregion

Then the region doesn't seem to get automatically "activated" - ie it doesn't collapse and expand. There seem to be other basic quirks as well. Have you found these regions to be buggy as well - a nice thought but not ready for prime time?

Also, do you know if there is any momentum for SSMS to include built-in regions in an upcoming release? Seems like it would be really nice to have considering Visual Studio has had this functionality for over 10 years?
mister.magoo
mister.magoo
SSChampion
SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)

Group: General Forum Members
Points: 10755 Visits: 7891
sqlguy-736318 (5/10/2013)
I downloaded SSMS Tools Pack and the region functionality seems to be a bit quirky. For example, for 2 regions on top of each other, collapsing the top region seems to collapse the bottom region as part of it. Have you noticed this behavior? Also, if I just type:

--#region test
-- some sql
--#endregion

Then the region doesn't seem to get automatically "activated" - ie it doesn't collapse and expand. There seem to be other basic quirks as well. Have you found these regions to be buggy as well - a nice thought but not ready for prime time?

Also, do you know if there is any momentum for SSMS to include built-in regions in an upcoming release? Seems like it would be really nice to have considering Visual Studio has had this functionality for over 10 years?


Region handling - code folding - is present in SSMS 2012, but it is awful, sorry to say.

What I would say is that if your code is long enough to warrant code folding, perhaps you should consider making it more modular - very long procedures can become a nightmare for support - just a thought :-P

MM


select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);




  • Forum Etiquette: How to post Reporting Services problems
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • How to Post Performance Problems - by Gail Shaw

  • sqlguy-736318
    sqlguy-736318
    Right there with Babe
    Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)

    Group: General Forum Members
    Points: 763 Visits: 447
    How is region handling awful in SSMS 2012?

    Is it quirky and inconsistent or does it have a poor overall design?
    mister.magoo
    mister.magoo
    SSChampion
    SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)

    Group: General Forum Members
    Points: 10755 Visits: 7891
    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);




  • Forum Etiquette: How to post Reporting Services problems
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • How to Post Performance Problems - by Gail Shaw

  • Attachments
    Regions.PNG (1.5K views, 4.00 KB)
    sqlguy-736318
    sqlguy-736318
    Right there with Babe
    Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)Right there with Babe (763 reputation)

    Group: General Forum Members
    Points: 763 Visits: 447
    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?
    mister.magoo
    mister.magoo
    SSChampion
    SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)SSChampion (10K reputation)

    Group: General Forum Members
    Points: 10755 Visits: 7891
    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);




  • Forum Etiquette: How to post Reporting Services problems
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • How to Post Performance Problems - by Gail Shaw

  • ssms-man
    ssms-man
    SSC-Enthusiastic
    SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)SSC-Enthusiastic (105 reputation)

    Group: General Forum Members
    Points: 105 Visits: 68
    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.
    Go


    Permissions

    You can't post new topics.
    You can't post topic replies.
    You can't post new polls.
    You can't post replies to polls.
    You can't edit your own topics.
    You can't delete your own topics.
    You can't edit other topics.
    You can't delete other topics.
    You can't edit your own posts.
    You can't edit other posts.
    You can't delete your own posts.
    You can't delete other posts.
    You can't post events.
    You can't edit your own events.
    You can't edit other events.
    You can't delete your own events.
    You can't delete other events.
    You can't send private messages.
    You can't send emails.
    You can read topics.
    You can't vote in polls.
    You can't upload attachments.
    You can download attachments.
    You can't post HTML code.
    You can't edit HTML code.
    You can't post IFCode.
    You can't post JavaScript.
    You can post emoticons.
    You can't post or upload images.

    Select a forum

































































































































































    SQLServerCentral


    Search