Open sm-g opened 5 years ago
There's a lot of logic, validation, layout and animation code for those controls. The option to have a single control instead of two is a huuuge change (which will also lead to bugs, of course).
I see the issue you have, but doubt I will have time to solve it in the near future.
IMO replacing the two separate controls with a single monospaced editor would be a big usability improvement.
Git might treat the two texts as two separate properties but from a user perspective (all my users at least), the commit message is just a single blob of text; They never think about the commit message as a subject and a description.
I get comments all the time about the usability of this control. Its "cleverness" simply gets in the way and disrupts the workflow. The inability to copy/paste is annoying as hell but several other issues simply make it unintuitive to use.
For example, enter the following commit message: Subject: This is a testt Description: of some text You realize you made a typo, so you press Up to edit the first line... Nope. Can't go up with the arrow keys. Okay then, press Shift-Tab instead and make the edit. Now to continue editing the second line, press Down... No; Can't do that either. If you're lucky you realize that you just dropped down the Recent Commit Message list. Otherwise, you risk selecting an entry from the list by mistake, overwriting your commit message. Finally, you decide to merge the two lines into one, so naturally you place the caret at the beginning of the second line and press backspace - and naturally nothing happens, because the two lines are two separate controls.
In Changes view and in commit description (first of three tabs) view.
In changes: I often fill title/description, then do something and want to amend / commit with other message, so I need to copypaste written stuff somewhere (to the notepad).
Maybe add some modification button to disable subject/description separation feature for once?
In commit description: sometimes I need to copy whole commit message.