AllMargins 2012


This extension contains the OverviewMargin and several other extensions of that margin.

(16) Review
Visual Studio
2013, 2012, 2010
Download (14,461)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (16)
Q and A (17)
Sign in to write a review
Sort by:

by KCarterSr | July 20 2015

I had to disable it again because whenever it is enabled, it crashes VS2013.

A little history first.

For a while now I haven't been able to figure out why sometimes right after
I change a property on a control, when VS is busy for a sec updating for the change
(note: Im using Watson Perf Monitor to see the UI activity), if I scroll the editor
window of select another property during this short busy period VS would crash.


One day I disabled AllMargins for some reason and the problem went away.
I re-enabled it and the problem came back. I did it again and same result.
It's very consistent.

Note: This is a large ASPX solution where I have the problem. I've seen it happen
lesser on smaller projects.

I really like this extension and used it a lot. Hope you can figure this out.

K. Carter Sr.

by Nikolay Timofeev | May 07 2015

Really nice little thing. Helps you overview file structure with only a glance to the side. Like it a lot. But I can't find any options to use it with the Dark visual theme of VS 2012. The colors there are almost invisible, that is minus(or maybe I am missed something and there is a way to make it work?).

by MaxDna | April 29 2015

In the last 15 years of software development I've used tons of addins/extensions for various IDE, from VB5 up to VS2013.

AllMargins Is definitely one of the most useful extension I ever used.
It save me tons of time when I need to scroll trough files with 2'000 lines of code.

I absolutely love this extension!

by aragonsr | January 27 2015

Looks like the guides disappear periodically on my machine with vs2013. Kind of annoying.

fourpastmidnight February 01 2015
| Edit |

@aragonsr: Yes, I noticed this, too. However, please be aware that the functionality found in AllMargins 2012 can actually be found in the Visual Studio Productivity Power Tools for Visual Studio 2013, and I highly recommend that you use the Productivity Power Tools over my extension in Visual Studio 2013. For users using Visual Studio 2012 or 2010, this extension is useful because the functionality is not in the Productivity Power Tools for those versions of Visual Studio.

by jeoje | September 09 2014

Thank you for maintaining this extension! Love the customization and other features included. I use sublimetext for web development and really like how I can make it show the column guides, which this mostly provides. Additionally, the enhanced margin tools far surpass what is included in productivity tools.

Looking forward to future updates!

by HFarouk | July 07 2014

This is what I was looking for, I totally missed the enhanced scroll bar in VS2013, now I can enjoy it in VS2010. It adds a nice indentation to code blocks as well.

Thanks for providing such an elegant tool.

by JoeMomma | April 02 2014

Thank you! I have missed it so much!

by AMgdy | February 11 2014

by Neolisk | January 13 2014

Amazing tool. I only wish it was configurable via GUI (ideally from within Visual Studio), not some registry hacks.

by hitu1 | December 17 2013

Hi, what I have experience since day I installed this tool is it crashes my visual studio very often! Pl do something about it at the earliest. I am using VB.Net enviroment.

by Matt DiTrolio | November 04 2013

Very nice! Shows me more clearly where my indentations are and where I've gotten sloppy with too much nesting.

by X2 | October 22 2013

Great extension. I've been using it for a long time now but had to re-download it for my newly installed VS2013.
One thing I'd love to see in future versions however is for the tool to be customisable where I can play with colours (some are just too drastic, esp. with the dark themed VS) and other aspects, like the preview window which I'd like to make a bit bigger, etc. [Colour setting similar to RockMargin ext]

This extension (still) remains unbeatable tho!

Well done Craig and keep up the great work that you do!

All the best.

fourpastmidnight October 23 2013
| Edit |

Thanks for the rating. I can't take all the credit for this exetnsion. David Pugh (MSFT) made this all possible--I'm just continuing to deliver on his good work! I hear you loud and clear about settings options--it's been a pet peeve of mine with this extension even when David Pugh was developing and maintaining the original extension. Being able to change extension settings from Tools|Options is a priority for the next major release of this extension. It has been taking me longer to release this than I had initially hoped, but it is in development and will include the very settings you are seeking to change. Meanwhile, you can change these settings manually by tweaking registry values. Please see this extension's Description tab, which contains all the nitty-gritty details on changing settings.

by Miroxlav | September 20 2013

this is an essential extension for many aspects of my work. Overview margin showing highlighted tokens, breakpoints, unsaved places, code previews etc. is a great thing. Structure adornment brings performance benefit as reading of highlighted structures is way faster.

Maybe you could add one more margin to AllMargins: editor right margin (or multiple) of selected color and column position. Few other single-purpose extensions supply it but I would expect to find it in AllMargins due to its name. :) (I rely on right margin frequently to ease work for teammembers with smaller/notebook displays.)

fourpastmidnight September 20 2013
| Edit |

Thanks for the rating! I'd like to hear more about your suggestion. I'm not quite sure I understand what you're looking for. Please contact me at my blog at this address: by leaving a comment with an e-mail address where I can contact you (comments are moderated, so I WILL NOT publish your address, but this way, you and I can talk some more about your suggestion). I look forward to hearing from you.

by Matthew Watson | September 18 2013

This is a great add-on. It now works fine with Visual Studio 2013 (RC) too!

by rechyXiang | August 03 2013

by yodus | February 25 2013

Good job. This was my favorite plug-in and now it's back.

Sign in to start a discussion

  • VS2015
    1 Posts | Last post September 23, 2015
    • Will AllMargins be updated to support VS2015?
  • How can I Hide Right Margim?
    1 Posts | Last post August 03, 2015
    • It will be really great if we have can have option for hiding right margin.
  • Margin Scale
    1 Posts | Last post February 04, 2015
    • Hi guys,
      I really like this extension but in VS2013 the margin on the right is always at absolute minimum size every time you open a file. If you grab the split window sizer and up and down it the margin then resizes correctly and is usable again.
      Has anyone else seen this behaviour?
  • Structure analysis and method separators
    8 Posts | Last post November 06, 2013
    • Hi again,
      since only working in C++ I miss a lot of separators after C++ structures.
      It is drawn after:
      - enum's
      - unions (even within struct's and class'es)
      - inline methods of a class
      - destructors
      But NOT after:
      - struct's
      - class'es
      - encapsulated struct's and class'es
      - constructors with empty body and the opening and closing braces on the same line
      - inline operator declarations/definitions
      - lambdas
      Any chance for an update to unify this behavior?
      Best regards,
    • Martin:
      I must confess, I'm a bit confused. Are you talking about the horizontal method separators, or the vertical structure adornment lines in the text editor?
      As for unions, I thought I fixed AllMargins 2012 so that horizontal method separator lines no longer appear after unions. I do see, however, that horizontal method separator lines appear after enums--something I'll need to fix.
      I also noticed when unions are written thusly:
          union {
              int ABC;
              int DEF;
      that a black line is not drawn between the union keyword and the closing brace (unlike with enums--which incorrectly get a blue, vertical line drawn indicating a method, which is also not correct). It seems like the C/C++ parser may need some additional work.
      As for embedded structures, I embedded a structure in a class; I did see a black line drawn between the structure braces (the same default color as used for classes). Also, in an old C++ project I had lying around, I had some inline methods. Those were adorned with a blue, vertical method line, and when method separators were turned on, a method separator line followed.
      When a method is all on one line, e.g.: 
          inline bool Output() { return _out.Output(); }
      then no method separator line was drawn underneath (and since the method is only one line, no vertical line is drawn either--this is the way the extension works). Is this the situation you are referring to?
      If you have any examples you could share and any description of what you think ought to happen in any particular situation, I'd be willing to take a look and see what I can make of it all.
      I look forward to hearing from you.
    • Sorry for the confusion.
      I talked about the horizontal "method separators", not the vertical lines.
      But first, my version of AllMargins is 2.82 (28.10.2013).
      So even if you tried to fix it ... after unions I see still the horizontal separator!
      I have to rethink my thoughts about the "method separator", because I missed your intention, even if the name "method separator" should be enough!
      Since you only wanted to separate methods/functions ... and not in general C++ elements ... there is still a but "underlining" enumerations and unions.
      If it is about methods and functions, than I have to admit, that a CTOR like this ...
          A::A(a a, b b, c c)
           : ABase(a, b, c),
      ... should have a separator, shouldn't it?
      And one-liners should be separatable, too - IMHO.
      Just to have a consistent look&feel.
      And some operators like the one I "screenshot" (please see the following URLs:,, are not "separated"
      If lambadas should be supported is another thing to discuss.
      Currently they seem to be unsupported, eventually not matching any structure inspectors pattern.
      What do you think?
      If you are the way up extending the meaning of the "method separator" to a more common separator, than I'd suggested not to remove support for unions and enumerations, but to extend to all top level C++ elements (classes, structs, unions, enums, methods, CTORs, operators, functions, global or local defined variables or arrays (outside a method/function scope))!
      Best regards,
    • Sorry, the dropbox short urls seem to be corrupt. Here the correct ones:
    • Oh wow - copying selected text of an url from the IE9 to paste it into a new tab, it fails.
      Pasting it into an editor I see question marks within the URL, so removing them, the URL works.
      What does VS Gallery do with embeded URLs?
    • Martin:
      Thanks for the images! That's really helpful.
      Ok, a few things.
      1) I notice that sometimes, the vertical lines seem to "disappear" when scrolling in the editor. I don't know why this occurs and I need to look into this. Again, I'm maintaining code written by someone else and most of my efforts have been on getting this released for VS 2012/2013. Now that that's done, I need to look into some of these issues, like this one.
      2) I need to do more extensive testing on C/C++. It looks like David Pugh (MSFT), when he originally wrote this, created the parser, but didn't do thorough testing on it--and that's not a criticism per se, he was mostly focusing on C# and; however, if C/C++ is going to be an option, then it shouldn't be a "second-rate" citizen of the extension. This will take me some time to go through this parser and understand why it's functioning the way it is and how to correct it.
      3) Your example above with the constructor on "multiple lines" is not considered multiple lines by the extension. The extension considers any lines between braces as multiple lines. Should it be this way? Probably not; having said that, I think the decision was made by David to use braces as the delimiter for vertical lines and I think it would be very difficult to do otherwise. I'm not opposed to looking into alternatives, however. But that would require a considerable rewrite of many of the parsers. I happen to not like that behavior myself and would rather see what you want to see, too.
      4) Again, from the above, since "multiple lines" occur between braces, single line methods don't have a vertical line drawn next to them. Also, method separators are drawn only after a multi-line method. Should it be that way? Maybe, maybe not. Maybe I should have an option: Draw method separators after single-line methods.
      [to be continued...]
    • [continuing from above...]
      5) Regarding separators, yes, they're named method separators and anywhere else they appear is a bug in the C/C++ parser. Again, having said that, I'm open to alternatives, such as separators between code structures, e.g. structs, classes, unions, etc. as a separate option. Since this is a new feature and would require parser changes, this is going to be sometime after v3.0 is released--but I'll add this item to my backlog.
      6) Regarding lambdas--I think in the C# language, multi-line lambdas are drawn with a vertical gray line (indicating an unknown code construct). I don't code in C/C++ much anymore, so I don't even know what they look like in that language--I'
      I really appreciate all the feedback you've given me. You're giving me a lot of work to do on this extension!! :) I hope you'll be patient with me as I try to get some of these tasks scheduled and completed.
    • Sorry, 6) above got cut off--dang [TAB] and [Enter].....continuing on...
      I'll have to learn what C/C++ lambdas look like. As far as lambdas are concerned in general, they need more parser support in all languages.
  • VS 2013 support
    9 Posts | Last post November 01, 2013
    • Greetings!
      AllMargins 2012 failes to install on VS 2013 Premium. (The extension 'StructureMargin_2012...)
      Is there a 2013 version in progress? This extension is really really good so I hope so.
    • SpinDisc:
      Thanks for reporting the problem. I haven't had a chance to test this extension on VS2013 RTM yet. There is a registry key (see the Description page for this extension) to turn off the offending part of the extension package in the meanwhile (I know this is less than ideal, as that's one of the best features of this extension) until I can get a chance to look at this and see what may be the problem. If you should happen to find out anything more in the meanwhile, please pass it along.
    • Since i've installed  VS2013 I realize how good your plugin is.  I really miss this tool in VS2013, I try to work as much as possible in VS2012 because i'm way more efficient if use this tool.  Hopefully there will be an update for this plugin. I hope you can overcome this problem.
    • Martin and SpinDisc: Again, I apologize for the problem. I will be making a release tonight to fix the VS2013 installation issue. I don't know how this wasn't found by those who installed the extension in VS2013 RC--it shouldn't have worked for them either and this would've been fixed back in September. Thanks for contacting me, though, so that I can resolve this issue and help you be more productive.
    • Afther another extension update (some azure SDK), I've tried to install this again and it looks like it has been fixed. 
    • Thanks for the update. Glad to hear you're able to install and use this extension.
    • I installed it again (v2.8.2), and the installation works this time. But nothing of AllMagins was visible in the GUI. No extended scrollbar, no margins, etc.
      In VS2012 all the separate parts of AllMargins are hidden in the Extensions list, all I can see is the AllMargins 2012. But in my VS2013 RTM all the separate modules (BlockTagger 2012, BlockTaggerImpl 2012, CaretMargin 2012, ErrorsToMarks 2012, MarkersToMark 2012, OverviewMargin 2012, OverviewMarginImpl 2012, SettingsStore 2012, SettingsStoreImpl 2012, StructureAdornment 2012) are visible again. Some of them where disabled. When I turned them all on again it finally worked.
      So I am happy, except for that my extension list is cluttered with all the individual moduls. Any idea how to fix that?
    • SpinDisc: Hmm, I always though that was a bug with the VS 2010 extension manager that MS fixed in VS 2012. Maybe it was a feature! LOL. Anyway, I assumed VS 2013 extension manager would work the same way as VS 2012. But, according to what you're saying, it works much like it did back in VS 2010. I haven'
    • [I accidentally hit enter while replying--so to continue...where was I? ahh, yes...]
      I haven't actually upgraded to VS 2013 yet but plan to do so in a few days. I've been swamped with a few other things lately.
      To answer your question about how to fix it: it may not be all that easy. I may have to dramatically restructure the extension so that it is logically one extension. However, that may not be all that hard in and of itself. The only thing is, I'm in the middle of developing Tools|Options pages for the extension. Since I am developing Tools|Options pages as a "one stop" place for configuring AllMargins 2012, then I should probably consider restructuring the extension at this time given this information. Having said that, I'm considering the Tools|Options feature as a "major version" upgrade--e.g. AllMargins v3.0. I'm still projecting some time yet for this development to come to fruition.
      So, I hope that you'll bear with me until then.
  • ready for VS2013?
    3 Posts | Last post October 24, 2013
    • While this site says "SUPPORTS Visual Studio 2013, 2012, 2010" I only get this error message box with VS 2013:
      "The extension could not be installed because the following error occurred:
      The extension 'StructureMargin_2012.Craig_E_Shea.6a62c4f8-72f4-414a-98b3-3ba255ae6c15' nested within 'AllMargins_2012.Craig_E_Shea.00d029e3-bd93-461e-a027-0c2235eb46c6' failed to install.
      This extension is not supported on the current product."
    • ignore this .. this site just showed me the chinese posts from Jan2013 being on top; after posting the other VS 2013 question(s) appeared out of the blue and make this question obsolete
    • I will be releasing a fix tonight. I apologize for the problem. There was a typo in the manifest for the extension mentioned in the error that prevented proper installation. How this didn't affect VS2013 RC, I don't know. Please let me know if you have any further issues trying to install v2.8.2.
  • Help with Method Separator Please!
    9 Posts | Last post September 12, 2013
    • Hey!
      Thanks so much for this awsome addin. I am trying to ONLY use MethodSeparator. The description shows StructureAdornment\MethodSeparatorColor, however in RegEdit it says StructureAdornment\MethodSeparatorColor, no ID on the end? Also whatever color i put for that makes no different. whatever i put for this StructureAdornment\MethodColor will be for MethodSeparator as well. So i have method code block vertical guide and method separator horizontal guide. I only want horizontal separator. Can you help me please? Thanks a ton! I have Visual Studio 2010 Preimum for work.
      Thanks again for any help!
       - S
    • Hmm, I know I turned this feature on and immediately turned it back off (not one of my favorites, personally ;) ). This feature was never fully finished in the original extension code by David Pugh, though I know it does work. I'll try and poke around the registry and get back to you later today. Sorry for the delay, it's been hectic lately.
    • Hey, no problem. Thanks so much for getting back to me! Yea I can't believe there arent more addins that make this for C#, I love it! It's not too bad the way it is, but if I could get rid of the vertical lines and only see the horizontal it would be perfect! I just cant make it disabled or white for the vertical becuase it does the same to the horizontal. Its so close to perfect, but something has them linked together somehow. Let me know what you find out please. Thanks a ton! I appreciate it and love this addin!
    • Hey man! I just wanted to see if you had a chance to check into this issue or settings or anything. Just let me know if you have a chance. I really appreciate it!
      Thanks a lot!
    • Sorry I haven't replied sooner. I took a look at this for you. Yeah, there must have been a type somewhere and the registry value is called StructureAdornment/MethodSeparatorColorId. Change that to something like #FF0000FF (100% opaque Blue). If you leave the first two octets 0 (e.g. #000000FF), it's effectively turned off.
    • I also confirmed that the color used for the MethodSeparatorLine is the same color as the MethodColor, always. This is a bug (again, the MethodSeparatorLine feature was never fully implemented by David Pugh and from what I saw, it worked (i.e. it drew a line) but since I personally don't care for that feature, I didn't do much testing beyond that). So changing the MethodSeparatorColorId value currently has no effect other than, if the first two bytes are not 0 (e.g. if it's anything except #00rrggbb), the line will display using the MethodColor color (default is Blue). I'm hoping to fix this in a minor release coming out very soon.
    • In case you didn't see that I released a new version this weekend, I released a new version this weekend. :) I'm pleased to be able to tell you that I fixed this bug. The option's name has been changed to AllMargins2012.StructureAdornment.MethodSeparatorColor and the color drawn is the color set for this option. See the full release notes for details. Thanks for pointing this out!
    • Hey man, thanks a ton! This is great work! I love having the separator only! There is another issue now... if you could fix in next release maybe pleaseeees??? Probably not too difficult. Before, when it was the same as the vertical line, the line width was also applied. So everything is perfect with the method separator now; however, can you add a line width or methodSeparator line width so we could change that as well? The default is a bit small I think.
      Thanks again for all your hard work, this extension is awesome!
      Just let me know what you think.
      Thanks again!
    • Thanks for the praise. Actually, that's a very good suggestion. I'll see if I can squeeze it in to the next release, as I hope that the next release will allow you to configure all options from the VS Tools|Options menu.
  • Method divider in a C++ struct? No methods there!
    4 Posts | Last post September 07, 2013
    • Hi there seem to be problem how method dividers are placed.
      Here a screen shot:
      As you can see the method divider is within a C++ structure right after the contained union.
      Deleting the union keyword doesn't change anything. But deleting the first opening brace removes the method divider.
      Best regards,
    • Sorry, but the dropbox URL seems to be broken.
      Here the correct - not shortended - one:
    • Martin:
      Thanks for reporting this. This feature was never fully implemented as part of the original--so I'm glad that at least I was able to surface it. I made a recent fix to it so it worked "as expected" when the registry value was set to a non-transparent color--but "as expected" meant I tested it in C#. So it looks like the extension is not properly recognizing C++ 'union' types. I'll take a look at this further and try to come up with a resolution. I'll let you know when I've come up with something.
      BTW (by the way ;) ), HTH means Hope That Helps :)'s hard to keep up with all these 3-leter acronyms!
      Thanks again!
    • Just released 2.8.1 to address this issue. Please let me know if you have any other issues.
  • Enhanced scrollbar ...
    4 Posts | Last post September 06, 2013
    • I have a question about the "enhanced scrollbar".
      This scrollbar is included in the Productivity Power Tools (PPT), isn't it?
      In opposite to the AllMargins extension, the PPT allow to configure this scrollbar.
      Any chance for a configuration for the scrollbar?
      And using the right mouse button onto the AllMargins scrollbar the context menu shows two commands:
          1. expand elisions
          2. show tips
      What are those commands for?
      I ask, because I couldn't find a difference in (de)?activating them!
    • In answer to your first question:
      The short answer, yes. The long answer: see what follows. In the PPT 2010 for VS2010, the Enhanced scrollbar implementation (at least, the one I initially saw) was not very good and David Pugh's AllMargins extension was much better. I didn't realize he was porting most of this into the PPT for VS2012 when I re-released the extension with support for VS2012 (which is one of the main motivators behind the current release--see the release notes). The two features are (nearly) identical. That's why I had a post about Future Directions for this extension  back in February. In VS2012, the only things I really want from AllMargins is the StructureMargin and the StructureAdornment (everything else was there and was essentially "free" ;) ). I don't care for the PPT Full-Map Mode scrollbar and the standard Map Mode has no structure outlining. Plus, if you turn on either Map Mode in the VSPPT (in VS2012), it hijacks the existing scrollbar and clicking the scroll thumb to smoothly scroll through the document has the unfortunate side-effect of jumping to where you initially clicked (a key feature of the enhanced scrollbar, to be sure, but not a replacement for the actual vertical scrollbar in my opinion). Even though there's a preview pop-up, its usefulness is limited and, I find, not a replacement for dragging the scroll thumb. So I end up turning the PPT enhanced scrollbar off. When I want to jump, I click in AllMargins2012's enhanced scroll bar. If I want to scroll by sliding the scroll thumb, I use the standard VS scrollbar. Structure Adornments in the editor window I find are also extremely useful.
      I intend on releasing a new version that will allow you to easily turn off those extensions in AllMargins2012 that you don't want to use (i.e. you want to use PPT instead); but this is still a few weeks (possibly even 1 or 2 months) out.
    • In addition to your configuration question, see the Description tab for this extension. It outlines the registry values that must be changed to configure the scroll bar (and other extensions). Again, this isn't pretty, but I hope to create actual Tools|Options pages for the extension in the next release (something the original never had).
      Third question: right-clicking the scrollbar. To start, if you don't use #regions in your code, then Expand Elisions will have no effect. If you use #regions and you collapse a region (or even if you tell VS to hide some code through the context menu in the editor), the hidden/collapsed code will be highlighted in a translucent red color (by default) to show you that there's code there and it's collapsed. The hover-code preview still shows the hidden code (which is where the click scrolling comes in handy...because the standard scroll bar will scroll right over it--it's hidden!)
      If you turn off Show Tips, then the enhanced scroll bar will not show you code previews on hover. (NOTE: this does not affect the Structure Margin scrollbar--I should probably add an option to enable/disable that, too--I'll add it to my product backlog).
    • Thanks for this extensive replies!
      I'll configure the scrollbars from the registry and look forward to the next release!
      Have a nice weekend!
      P.S.: what means HTH?
  • WTH is going on? Update? Failed update? ...
    7 Posts | Last post September 05, 2013
    • Hi,
      this morning an update for AllMargins 2012 was announced by Vs2010 Premium.
      I tried, but it failed, due to already existing "keys" - what ever this means.
      So I tried in reinstalling - but ... it failed.
      So I tried uninstalling, extension by extension, restart of VS2010 and then to reinstall.
      Nothing - it's gone - it didn't worked, it don't want to reinstall.
      ErrorMarks, and OverviewMargin(Impl)* failed as nested extensions with:
      "… An item with the same key has already been added. ---> System.ArgumentException: An item with the same key has already been added. …"
      Any help available?
      Best regards,
    • I'm sorry that you've had an issue with installing this new version. I'll look into this and let you know what I find.
    • Martin, again, I apologize for the trouble you had updating this extension. I've uploaded an updated VSIX. There's a known issue with VS2010 and nested extensions. It appears that the final version of my extension that I uploaded didn't go through a "repacking" process like I thought it had, which addresses this known issue. Please let me know if you run into any problems. I'll be monitoring this. Thanks again!
    • Thanks for the quick help!
      The problem seems to be resolved.
      I had no problems to install now, but I'll see, if everything works after restarting VS2010 - I can't now, but I report final success tomorrow!
    • Thanks for giving me a status update, I appreciate it. I'll be on the lookout to make sure the install was successful for you.
      I've taken steps to address this issue so that it doesn't happen again in the future.
    • Late but ... it works like charms!
      Thanks for your quick help!
    • Awesome, glad to hear it.
1 - 10 of 17 Items