microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.65k stars 29.43k forks source link

Uncommitted changes needs a different icon #145781

Closed miguelsolorio closed 2 years ago

miguelsolorio commented 2 years ago

It seems that uncommitted changes are not commits yet, so wonder if they should have different icons? cc @daviddossett @lychung7

bpasero commented 2 years ago

👍 . note that @JacksonKearl owns the timeline view and @lszomoru the git timeline. In this case the entry originates from the git extension I think.

lszomoru commented 2 years ago

Yes, that icon is coming from the git extension. @misolori, let me know if there is a better icon that I can use. @bpasero, I really like the floppy disc icon for the local history items. Is there any reason we have switched to the circle?

bpasero commented 2 years ago

@lszomoru that icon reminded @isidorn of the 1980s, so we had to change it.

daviddossett commented 2 years ago

Agreed. Also, the circle used for local history changes has a different stroke width and size anyway so I've been meaning to tune these up.

Will take a crack at this 👍

lszomoru commented 2 years ago

what's so bad about the 1980s? 😄 When the "circle" will be adjusted to match the stroke and size, the difference between the two icons will be extremely subtle. I would advocate for using icons that are easily distinguishable.

bpasero commented 2 years ago

Fyi "Uncommitted changes" are gone from timeline view.

bpasero commented 2 years ago

Just fyi some people might want to have it back when "Local History" is not enabled so maybe we then should revisit that...

lsp1138 commented 2 years ago

Can I add my two cents - i am sorely missing the "uncommitted" changes from the timeline - it was integral to my workflow. I dont care so much about local changes at all - but need the uncommitted to see what has changed before i commit it. Basically the "uncomitted" is the visual for doing a "git diff" .. am a bit upset that such a good feature of visual code was taken away. Lets progress not regress:) would appreciate if this can be added back or at least be configurable. cheers Lars

bpasero commented 2 years ago

@lsp1138 the same information is always accessible from the SCM changes view, no? There is even a badge indicator over the view to see that you have uncommitted changes.

lsp1138 commented 2 years ago

Hello @bpasero, thanks for your reply.

Sure i can find it also using git diff. However, it was really useful to see the uncommitted changes in the timeline since it sits inside the file explorer tree view - which is the only view i usually use - and because that tree view is usually open i had a quick way of seeing if there were any uncommitted changes and also to see them by clicking on that change. So it was faster than clicking on the git scm or doing a git diff.

I try to avoid using the context menus too much it is too much clicking, usually the tree view is open with the timeline. I really only use git from the command line (as I suspect most people do as it is platform/editor independent).

My two cents - sad to see this go and I wanted to ask if possible to at least make it configurable as it was one of the most useful features i was using all the time.

cheers Lars

bpasero commented 2 years ago

Fair, please upvote https://github.com/microsoft/vscode/issues/147278 then.

bpasero commented 2 years ago

@daviddossett any thoughts on a different icon? If there is a way to bring the uncommitted changes back then I think it would make sense to show a different icon to distinguish a git commit from uncommitted changes.

daviddossett commented 2 years ago

We could consider using a new icon similar to circle-outline (but with identical stroke width/size) for uncommitted changes since it looks more like a formal change that isn't yet on a git timeline. That would mean we would need to re-think the icon used for local history.

CleanShot 2022-04-20 at 10 12 46@2x

Alternatively, we could be to give a nod to the filled circle pattern we use for unsaved editors using circle-filled if uncommitted changes was viewed as a sort of dirty state. Other ideas from existing icons could be edit or diff:

CleanShot 2022-04-20 at 10 08 16@2x
bpasero commented 2 years ago

I really like the current icon we have for "Local History". If the information we want to convey is that the entry in the timeline has not yet been committed (i.e. is in a state where it is almost a commit but just not yet), then maybe the icon needs to be the same as for local history? I wonder how bad that would be if both icons were simply the same...

daviddossett commented 2 years ago

I think it's ok to use it for both IMO. They aren't worlds apart conceptually in that they are both representing some sort of isolated change, not yet included on a formal timeline.

In any case, I've proposed a new icon in the codicons library to align with the specific metrics of these other git icons:

Before

CleanShot 2022-04-22 at 12 03 41@2x

After

CleanShot 2022-04-22 at 11 58 13@2x
bpasero commented 2 years ago

Pushed that: image

lszomoru commented 2 years ago

Would it make sense to use the "full circle" icon that we are using in the editor tab when a file has unsaved changes?

bpasero commented 2 years ago

I like how now the icon looks very similar to the git commit icon, with the exception of not being "connected" yet to the others via a commit.

lszomoru commented 2 years ago

No strong feeling about it. Just wanted to bring it up.

daviddossett commented 2 years ago

Updated git-commit to visually align with circle-outline in https://github.com/microsoft/vscode/commit/dc58d4e2d0abde25dd55f588c3fd6e09a67e54b5

git-commit-circle-outline