AllMargins 2012

Free

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

(12) Review
Visual Studio
2013, 2012, 2010
Download (9,049)
10/27/2013
2.8.2
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (12)
Q and A (14)
Sign in to write a review
Sort by:

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 |
Delete

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 |
Delete

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: http://discoveringcode.blogspot.com/2013/01/announcing-release-of-allmargins-for.html 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 KCarterSr | July 13 2013

Nice. One problem though.

1. I had to disable it because whenever it is enabled, it crashes VS2012 when when I close VS1012. Ironically this causes VS to restart instead of closing.

2. Randomly crashes.

Fix this and I'll change my rating back to 5 stars.

K. Carter Sr.

fourpastmidnight September 01 2013
| Edit |
Delete

I think I've fixed this issue. Look for Version 2.8 when it comes out. It should be later today. If not today, then tomorrow. Thanks again for your patience!!

by yodus | February 25 2013

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

Sign in to start a discussion


  • 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
    • 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),
             a(a),
             b(b),
             c(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: https://db.tt/vwHv374w, https://db.tt/svqZXZOR, https://db.tt/hSFfbxXi) 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,
      
      Martin
    • Sorry, the dropbox short urls seem to be corrupt. Here the correct ones:
      
      1. https://www.dropbox.com/s/suf2i88au24rx48/2013-11-04_10-56-03_Trunk%20-%20Microsoft%20Visual%20Studio%20%28Administrator%29.jpg
      2. https://www.dropbox.com/s/ypd81h26k3ztgp8/2013-11-04_10-56-35_Trunk%20-%20Microsoft%20Visual%20Studio%20%28Administrator%29.jpg
      3. https://www.dropbox.com/s/cq7ekqol87udb3p/2013-11-04_10-57-40_Trunk%20-%20Microsoft%20Visual%20Studio%20%28Administrator%29.jpg
    • 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 VB.net; 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.
      
      Later!
      
      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: http://db.tt/QWquHASw
      
      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,
      
      Martin
    • Sorry, but the dropbox URL seems to be broken.
      
      Here the correct - not shortended - one:
      
      https://www.dropbox.com/s/x2dtd40iftt5njn/2013-09-06_14-58-03_Trunk%20-%20Microsoft%20Visual%20Studio%20%28Administrator%29.jpg
    • 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 :) lol..it'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).
      
      HTH!!
    • Thanks for this extensive replies!
      I'll configure the scrollbars from the registry and look forward to the next release!
      Have a nice weekend!
      Martin
      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,
      
      Martin
    • 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.
  • Exclaimation mark obscrured
    3 Posts | Last post September 01, 2013
    • We almost had a really bad disaster here because of the display this tool generates (which I generally love). Our original code had some compiler directives:
      #IF !DEBUG
      ....
      and because of the indenting a vertical line when right thru the exclaimation mark. When modifying some code related to these directives I initially made some errors because I did not see the '!'. 
      
      I'm not sure I can tell you how to fix this but it's something to be aware of. thought you'd like to know
      
      Kevin
    • I simply updated the code for the old AllMargins extension that worked with Visual Studio 2010. I believe that this was an issue with the original extension as well. I haven't had time to work on this issue. I've noticed, too, that sometimes the lines disappear when scrolling a code document--so there's definitely some work that needs to be done on this. Thanks for reporting.
    • I had some time this holiday weekend (Labor Day, here in America) and made some updates to this extension. I looked further into your issue. I opened up a code document adorned with the StructureAdornment extension and added a #if !DEBUG directive at the very left-hand edge of the document. Surely enough, a vertical line for the Class definition goes right underneath the exclamation mark in the directive. This is very unfortunate; but, there's nothing I can do about it. The adornments drawn by the extension _ARE_ drawn underneath text in the editor, but due to the fact that the line is 1.0 pixel and the exclamation mark's width is also 1.0 pixel, they hide each other. Here's what I can recommend: change the following registry value in the key HKCU\Software\Microsoft\Visual Studio\{version}\Text Editor: StructureAdornment/ClassColor (version 2.7) or AllMargins2012.StructureAdornment.ClassColor (version 2.8 and above--which is coming out later today). If you change the color to something other than black, then you will see your exclamation mark drawn on top of the line adornment (for example, I used #FF00FFFF--cyan). HTH.
  • How to customize plugin?
    3 Posts | Last post September 01, 2013
    • Hi!
      Plugin is really awesome but it has one issue - how it is displayed on *.cshtml pages. Does anyone know how to make plugin work only for *.cs documents?
    • This may be a limitation of the way the type of document is detected in Visual Studio. Since *.cshtml files are HTML files that contains C-Sharp code, VS may be saying that the document is a CSharp code file, and therefore, this extension detects that and begins displaying its adornments and margins. Again, I only ported the original code from David Pugh's original extension for Visual Studio 2010 (*.cshtml files didn't even exist then!). I'm planning on making some updates to this extension, but it may be a while. Thanks for reporting this issue. I'll keep this in mind for the next release.
    • Looking into this a bit, from what I understand, a *.cshtml document is a sort of "compound" document. Just like your traditional ASPX pages get compiled into an assembly (DLL), so does your *.cshtml files. These really are C# files with some HTML mixed in. Therefore, Visual Studio reports these documents as CODE documents and the StructureMargin and StructureAdornments and other extensions are activated. I'll see if there's a way I can determine what kind of document is in the TextEditor and provide options to specify whether you want certain extension on for certain file types--but this is all speculative until I know whether this is possible.
  • Settings
    8 Posts | Last post August 31, 2013
    • Hi fourpastmidnight
      AllMargins is using same reg values as enhanced scrollbar in Productivity Power Tools, is it possible that it has separate settings? I really love verical lines describing code parts, but carret, breakpoint and change marks I would like to have only in scrollbar from VSPPT.
    • Thanks for your inquiry. Well, according to David Pugh who originally wrote AllMargins, he ported a lot of the AllMargins functionality into the Visual Studio Productivity Power Tools. So, it looks like when he did that, he may have used the same exact setting names.
      
      I haven't personally looked at the VSPPT settings to know whether all the enhanced scrollbar settings are exactly the same.
      
      For AllMargins, you can set certain registry keys to enable/disable various margins. But, if VSPPT uses these values, then that won't work.
      
      What you could do is this: download the AllMargins 2012.vsix file from VS Gallery. Change the name off the file to AllMargins 2012.vsix.zip. Extract from this file the Microsoft.VisualStudio.Extensnions.StructureAdornment.vsix. This extension draws the lines in the editor.
      
      If you want the lines in the scrollbar, too, then you'll also need to extract Microsoft.VisualStudio.Extensions.OverviewMargin.vsix and Microsoft.VisualStudio.Extensions.StructureMargin.vsix. Install these separately, OverviewMargin first, then StructureMargin. Just note that installing the OverviewMargin also installs the OverviewChangeMargin (the green/yellow stripe margin for file changes) and the OverviewMarksMargin (shows the location of breakpoints in the file). Again, this is a limitation of the original extension. I merely updated the original to work on Visual Studio 2012.
      
      HTH.
    • pen_2:
      
      I should mention also, since you brought this to my attention, that I will look further into the settings being used by VSPPT, and if need be, I may have to change the setting registry value names so that setting name clashes don't happen in the future.
      
      Thanks again for bringing this to my attention.
    • Thanks fourpastmidnight. Installing Microsoft.VisualStudio.Extensions.SettingsStoreImpl.vsix and Microsoft.VisualStudio.Extensions.StructureAdornment.vsix works for me. Installing Microsoft.VisualStudio.Extensions.OverviewMargin.vsix does not making scrollbar to appear but lines in text editor are enough for me. Thanks again for help.
    • pen_2: I disabled AllMargins 2012 and enabled the VSPPT Enhanced Scrollbar. Furthermore, I changed some "obvious settings" on the AllMargins 2012 options in the registry (such as, CaretMargin/CaretColor, CaretMargn/MarginWidth), however, changing these settings had absolutely no effect on VSPPT's enhanced scrollbar.
      
      Are there specific settings that you found VSPPT "shared" with AllMargins 2012?
    • Ah, I found some of the options.
    • I think just packaging the structure adornments would be a good idea. I loved the original just for that, then it was removed from the gallery and I had to find an alternative.  They didn't seem as good.
    • @portelli: Thanks for the suggestion. Yeah, I agree with you that this should be a separately downloadable extension in its own right, apart from the entire AllMargins2012 extension (barring a nice way to enable/disable the extension within Visual Studio's Options dialog--which is hopefully forthcoming very soon).
      
      @pen_2 and @portelli: in the meantime, I'm hoping to release very soon an updated version of the current extension that will eliminate the naming clashes with the Visual Studio 2012 Power Productivity Power Tools.
      
      Thanks for your patience!!
1 - 10 of 14 Items