6.1 EAP Vertical selection replacement issue

There's a VS feature that you can make selections vertically (by holding ALT-SHIFT and using arrow keys or by holding ALT when using the mouse).  With that selection, when you type, it replaces the selection on all lines with what you're typing.  This works great in vanilla VS or with R# 6.0, but it is broken with 6.1 - when you type it will replace the selection only in the first line selected, other lines will have the selection removed but not with the text you typed (it is just cleared).

3 comments
Comment actions Permalink

I just tested this with the latest EAP (6.1.0.11493) and the vertical selection replacement works correctly for me.

0
Comment actions Permalink

Ah - apparently it's only on a specific circumstance, only with some characters.  In general it works but will fail in the following case:


return !IsMatch(trimmedString1.Replace("\n", ""),
                             trimmedString2.Replace("\n", ""),

                             trimmedString3.Replace("\n", ""));


Highlight the " marks on three vertical lines and type ' (single quote) to change to character.  The results after doing that will be this:

return !IsMatch(trimmedString1.Replace('\n", ""),
 
                              trimmedString2.Replace("n", ""),
                              trimmedString3.Replace("\", ""));


Happens anytime when the character being replaced is a ' or ".  Looks like it's moving over one character on each subsequent line, replacing the top but just removing chars from the other lines.  However, this apparently works in other cases.  Very odd.
0
Comment actions Permalink

Hello Darrell,

Thank you for the example! This seems to be a known problem and you're welcome
to vote for the following request: http://youtrack.jetbrains.net/issue/RSRP-179736
(I've added this case as a comment).

Andrey Serebryansky
Senior Support Engineer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

Ah - apparently it's only on a specific circumstance, only with some
characters.  In general it works but will fail in the following case:

return !IsMatch(trimmedString1.Replace("\n", ""),
trimmedString2.Replace("\n", ""),
trimmedString3.Replace("\n", ""));
Highlight the " marks on three vertical lines and type ' (single
quote) to change to character.  The results after doing that will be
this:

return !IsMatch(trimmedString1.Replace('\n", ""),
trimmedString2.Replace("n", ""),
trimmedString3.Replace("\", ""));
Happens anytime when the character being replaced is a ' or ".  Looks
like it's moving over one character on each subsequent line, replacing
the top but just removing chars from the other lines.  However, this
apparently works in other cases.  Very odd.

---
Original message URL:
http://devnet.jetbrains.net/message/5394848#5394848



0

Please sign in to leave a comment.