Xcode Editor text selection issue - xcode

If I want to delete few lines of text in most of text editors, not touching some words on the bottom line and the whole upper line, I put cursor on the bottom row leaving all unnecessary words to the left of the cursor. Then I select few lines vertically by holding Shift + ↑. I stop on upper row and get some selection: part below + right part of the upper row:
In this example I want to get rid of if word and an empty space between the function header and the code, not touching the function header (even hough let will stick to the opening bracket {).
Normally (not in Xcode) I would still hold Shift and will press cmd + ➝ to deselect the right (selected) part or the top row.
Result will be like this:
I can simply press Delete and job is done.
However, in Xcode such shortcut usage makes bottom row fully selected (till the right) and not changes upper row selection:
Same thing happens if you select from top to bottom and you need to remove extra selection from the bottom line.
I tried to rebind shortcuts in Preferences but didn't find a solution.
This example is very particular and maybe not the best, however I face such selection problems only in Xcode and have to use mouse which is not handy.

This is a rather old question, but what you want is fairly simple to achieve. If your cursor is between the if and the let, you would only need to press option-shift-left arrow twice. The first time, it would select the if and the leading tabs, and the second would select the empty line.

Related

Is there a way to move entire row in MS Word tables?

In many source code editors, you can easily rearrange lines by holding hotkey sequence while pressing arrow keys up and down, which moves lines up or down. Is there a way to do that in tables in MS Word? If yes, will it move color formatting along the row, also?
Right now, I have to cut rows and paste them where I need, using paste special>source formatting option, which glitches and requires 3 additional clicks.
Although this is not a question for SO (no programming etc.) this is the answer:
Alt + Shift + arrow up/down
This works for any paragraph or table row.

Normal Mac option-drag block selection in VS Code?

There are already many questions about VS Code's block selection and multi-cursor selection, and I'm not asking how to use it, but rather, how to make it behave in the standard way on a Mac (without the shift ⇧ key pressed).
The way it currently behaves is this: your current cursor location defines one corner of the block selection, and when you press ⇧⌥ and click somewhere else, you define the opposite corner of the block. You can drag as you're clicking, but dragging really only changes the definition of that opposite corner. Your (text) cursor's position always defines one of the block's corners.
Considering that the VS Code default keybinding is ⇧⌥, the behavior is proper for having the shift ⇧ key pressed. But I'm trying to find a way to get the normal behavior that you'd expect on a Mac when the shift ⇧ key is not pressed.
In normal Mac behavior (without shift), the entire block is defined by:
where you first click, before you start dragging, and
where you release, after dragging.
This behavior is exactly the same as for plain-vanilla text selection, except that you get a block, instead of a line-oriented selection.
I would like to find a way to have VS Code allow me to define the block selection solely based on where I click and drag, and not based on the current text cursor location.
How can I do this?
Note that you don't have to drag the mouse. You can single click (with no modifier keys) in one corner, press and hold Shift and Option, and click in the opposite corner, then release the Shift and Option keys. So, your attempt to start the selection is actually extending it (relative to the previous selection).
What's working for me in 1.53.1 (January 2021 release) is to click and hold the mouse button (with no keys pressed; this starts a normal, non-column selection), then press and hold Shift and Option, then continue dragging the mouse. I find this method cumbersome and prefer selecting opposite corners as above.
I don't see an obvious way to change to Option-only to start a column selection.

How do I shift a set of lines one space to the right within a text editor?

How do I shift a set of lines one space to the right within a text editor?
If I wanted to shift a set of lines several spaces to the right, I would perform:
selected text + Tab
However, I just want to shift the text one space to the right without tabbing.
Any suggestions?
Hold down the alt key, left-click and hold the mouse button down on the first line where you wish to insert your space. Then, while still holding down the left mouse button, drag the mouse vertically to extend this edit point to all the lines you want to move. Dragging it horizontally will create a box selection, which you want to avoid, as the selected text will end up being replaced, rather than a space be added.
Also, you cannot select individual, disjoint lines to move. You can only use alt-drag over a contiguous block of lines.
Once you have your multiline edit point created, hit the spacebar once.
Tada.
Here's a blog post by Scott Guthrie with more details and a vidya demo
If you don't want to use the mouse, you can use shift+alt+(up, down, left, or right) to create a box selection, or a multiline edit point.

how to move the dotted line from the middle of a "alt" sequence diagram

I'm using the UML sequence diagram in gliffy for Jira and I can't seem to move the dotted line to the middle of the alt box - it stays stuck to the top and I don't see a handle for it. How do I move it to the middle?
It's really fiddly but it possible.
1) Double click the top guard condition [If] to go into text edit mode.
2) Add some carriage returns (new lines) at the end - the idea is to move the cursor down to where you want the line to go
If the line doesn't move when you insert the new lines (it's a bit flaky) then click outside the box (to save) and wait a few seconds for it to catch up.
If it still doesn't move the line, then move the shape a little to get it to redraw.
Finally, delete the shape and start again if it still won't move it.
As I said, it's a bit flaky.

Cursor between the wrong characters when clicking an inactive NSTextField with the "Truncate Head" Line Break

I used Interface Builder to create an NSTextField and set its Line Break to Truncate Head (because if its text is too long to display all at once, I'd rather see the last few words than the first few).
My problem is that the modified Line Break compromises my ability to place my cursor in a specific position when making the NSTextField active (a.k.a. First Responder) by clicking the mouse. In this example, the NSTextField is not active, and I attempt to place my cursor between the "L" and "A" in "lazy".
After clicking, the cursor appears before the word "over".
Clearly, the NSTextField is ignoring the modified Line Break, and positioning the cursor as if it were the default. Can I achieve the effect of Truncate Head but keep the ability to place the cursor in a specific location by clicking?
I had the idea to record the mouseDown location, compare that to attributedStringValue's size, and calculate where the cursor should go, but I quickly got in over my head.
Original question: NSTextField keep scrolling at the end
I have the following silly problem:
I placed a single-line NSTextField on my View. The idea would be that it contains a long URL, but in my case mostly the ending is interesting.
So I would like the content to appear like scrolled to the end (so the beginning is not visible if it is longer than the textfield). The problem is that I do not know how to set this properly. I tried the "Text Direction" option to Right To Left which then displays properly, but as soon the user clicks on the field it jumps back to the beginning, thus confusing the user.
Please let me know what I am missing.
Thanks!

Resources