| T O P I C    R E V I E W | 
              
              
                | haraldh | 
                Posted - Feb 08 2012 : 7:44:02 PM  i really like your feature of selecting a bunch of lines, then press / and all of them get a // in front.
  however, style-cop insists on having 4 slashes when it's at the beginning of a line.
  i am suggesting a flag in the VA options to choose whether one wants 2 or 4 slashes. | 
              
              
                | 9   L A T E S T    R E P L I E S    (Newest First) | 
              
              
                | support | 
                Posted - Feb 29 2012 : 1:11:53 PM  case=64628 is implemented in build 1901
 
  HKEY_CURRENT_USER\\Software\\Whole Tomato\\Visual Assist X\\VANet10
  DWORD value: LineCommentSlashCount default is 2
  Replace VANet10 with appropriate subkey for other IDEs (VANet9, VANet8, VANet, VA6) | 
              
              
                | haraldh | 
                Posted - Feb 29 2012 : 06:57:06 AM  i just that a registry option (LineCommentSlashCount) was implemented in version 1901. thanks a lot! the quick response is much appreciated! | 
              
              
                | haraldh | 
                Posted - Feb 10 2012 : 9:24:17 PM  thanks a lot for making it a feature request and for the suggestions. i will try them.
  | 
              
              
                | feline | 
                Posted - Feb 10 2012 : 11:29:26 AM  As a temporary work around, you can use an IDE macro to comment and uncomment like this.  Here is an initial attempt at a macro to do this, which I have tested in VS2008 with C++ code:
 
     ' select a block of lines and then trigger this
    ' it comments out code lines and uncomments comment lines
    Public Sub ToggleCommentStyleCop()
        Dim objTxtSel As TextSelection = DTE.ActiveDocument.Selection
        Dim colRanges As TextRanges = objTxtSel.TextRanges
        Dim objRange As TextRange
        Dim pointStart, pointEnd As EditPoint
        For Each objRange In colRanges
            Dim nLineLength As Integer = objRange.EndPoint.AbsoluteCharOffset - objRange.StartPoint.AbsoluteCharOffset
            If nLineLength > 0 Then
                pointStart = objRange.StartPoint
                pointEnd = objRange.EndPoint
                Dim strLine As String = pointStart.GetText(pointEnd)
                Dim RegexObj As New System.Text.RegularExpressions.Regex("^[\\t ]*////")
                If False = RegexObj.IsMatch(strLine) Then
                    pointStart.Insert("////")
                Else
                    ' work out what the line should turn into
                    ' by removing only the leading / characters
                    Dim nCommentPos, strBeforeComment, strAfterComment
                    nCommentPos = InStr(strLine, "/")
                    strBeforeComment = Mid(strLine, 1, nCommentPos - 1)
                    strAfterComment = Mid(strLine, nCommentPos + 4)
                    ' then replace the line with the new version
                    pointStart.ReplaceText(pointEnd, strBeforeComment & strAfterComment, vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers)
                End If
            End If
        Next
    End Sub
  It probably has a few edge cases it does not handle correctly, but hopefully this will help for now.  If the macro does something useful for you on your syste, you can bind a keyboard shortcut to this macro, so you can trigger it directly. | 
              
              
                | accord | 
                Posted - Feb 10 2012 : 07:56:17 AM  I have put in a feature request to see what the developers make of it:
  case=64628
  For now, you can use the uncomment feature to uncomment a commented block:
  Edit -> Advanced -> Uncomment selection
  You can assign a single shortcut for them, since they are also commands like the other menu items: Edit.CommentSelection and Edit.UncommentSelection. Use the following dialog to bind the shortcuts:
  Tools -> Options... -> Environment -> Keyboard | 
              
              
                | haraldh | 
                Posted - Feb 09 2012 : 2:57:46 PM  i can use the ide's "Ctrl E, C" twice around a selection. that does the trick. but requires five key presses compared to pressing VA's / twice. BUT - and this really makes the ide's Ctrl E,C a non-solution - it does not operate as a toggle. when i want to remove the comments i have to tediously select and remove them manually.
  i have been a loyal customer for many years, paying my yearly subscription. this is the first time i am requesting a feature. this feature can be added in 10 minutes tops, since it doesn't effect anything else and the logic is already there. all you have to do is output 2 more / based on checking a check-box, which you can bind to a boolean.
  i thought it wasn't too much to ask. guess i was wrong...
  | 
              
              
                | accord | 
                Posted - Feb 09 2012 : 12:38:10 PM  Thank you for the detailed description. And what about Edit -> Advanced -> Comment menu, which can be bound to a keyboard shortcut, and does a very similar thing? Generally, we try to avoid adding too much option to the option dialog, and also, this request is a kind of special case. Or pressing star over a selection is an another way to deal with this situation. It surrounds the code with the other style of comment. | 
              
              
                | haraldh | 
                Posted - Feb 08 2012 : 10:26:37 PM  style-cop enforces code style (not content, just looks) guidelines developed (and used) by microsoft. most of the .NET libs are written with it.
  style-cop has no settings whatsoever. nothing can be configured. my current contract (C# and C++) enforces style-cop.
  at first it is a huge pain in the ass because some of the rules are indeed way over the top and seem ridiculous. but now that i have used it for a while i must say the core set of rules it enforces makes my code much more readable and maintainable. i am seriously contemplating using it even for my private projects.
  with regard to most of the rules VA is not in the way at all. in fact it is a great help, as it always has been.
  it is just this comment with // thing that bugs me. i figure it is a very simple mod in your code. just make it an option in the "General" section of VA options. something like "use //// instead of //". shouldn't take more than 10 minutes to implement and test - et voila!
  hope this helps. i am sure there are others here who use style-cop (voluntarily or not) who would appreciate it. this is my second contract where the company insists on using it... | 
              
              
                | accord | 
                Posted - Feb 08 2012 : 9:00:26 PM  I would like to understand your background, first. I have never used style-cop myself, and I'm wondering if wasn't it be easier to just change this setting in the program? I mean, it is possible? Or is your company also expect you to use this style?
  Have you tried Edit -> Advanced -> Comment selection (or the keyboard shortcut for it)? |