Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[folding] Collapse ending brace to the same line #3352

Open
Tyriar opened this issue Feb 23, 2016 · 95 comments
Open

[folding] Collapse ending brace to the same line #3352

Tyriar opened this issue Feb 23, 2016 · 95 comments
Assignees
Labels
editor-folding Editor code folding issues feature-request Request for new features or functionality
Milestone

Comments

@Tyriar
Copy link
Member

Tyriar commented Feb 23, 2016

Consider a large JavaScript file

function a() {
  ...
}

function b() {
  ...
}

function c() {
  ...
}

and so on...

Collapsing all currently yields:

function a() { ...
}

function b() { ...
}

function c() { ...
}

and so on...

This would be more readable if the closing brace was on the same line:

function a() { ... }

function b() { ... }

function c() { ... }

and so on...

Here is how other prominent editors handle the above:

Atom

image

Brackets

image

Sublime Text 3

image


VS Code

image

@tht13
Copy link
Contributor

tht13 commented Feb 24, 2016

This would not work for languages which do not use punctuation to signify code blocks (i.e python)

Code Folding at the moment uses indentation and so will close everything up to the next line on the same indentation level as the folding line. The implementation would have to change to fold the closing bracket as this would cause issues in some languages

@joaomoreno
Copy link
Member

👍

@joaomoreno
Copy link
Member

ping @alexandrudima

@aeschli aeschli added the editor label Feb 24, 2016
@aeschli aeschli added this to the Backlog milestone Feb 24, 2016
@aeschli aeschli added feature-request Request for new features or functionality editor-folding Editor code folding issues labels Feb 24, 2016
@aeschli aeschli changed the title Proposal: Code folding collapses ending brace to the same line [folding] Collapse ending brace to the same line Feb 24, 2016
@pom421
Copy link

pom421 commented Jul 12, 2016

👍
I like the Atom's way. We save a line and the ending curly brace is not virtually on the same line than the beginning one (unlike Bracket).

@danjoa
Copy link

danjoa commented Dec 23, 2016

👍 definitely, would help so much

@g5codyswartz
Copy link

g5codyswartz commented Feb 1, 2017

I like how Jetbrains does theirs which matches "bracket"
image

I also love being able to fold not only from the first bracket but also the last bracket.

They also have essentially peeking for brackets when they're not on screen so you can see what they belong to. I used to comment what ending brackets belonged to, then I stopped due to the IDE, now I'm feeling lost again w/o it.
image

I also really like how notepad++ puts the trailing line as mentioned in Alternative Designs #2

@Spown
Copy link

Spown commented Aug 28, 2017

I'm for the current model, but since people still think there is something to be corrected I think a preference is in order, something like editor.foldingConsumeLastLine: bool

@renestalder
Copy link

Also would prefer a way to make it one-line. I often use the folding in CSS and liked the way the Jetbrains IDEs put the collapsed selectors on one line.

@gabrielmaximo
Copy link

Can you solve it? I have this same problem uncomfortable, I read the other post about it, but I did not see anything finished that can help me, someone there knows how to solve ?? it really is very uncomfortable working with multiple collapsed lines, because with this line more than "}" it is difficult and confusing to work.

@manyfew
Copy link

manyfew commented Mar 7, 2018

I like the 'Brackets' example, looks clean

@jeasonstudio
Copy link

jeasonstudio commented Apr 2, 2018

image

It is a good choice to show the number of folded code lines like vim, and make the folded code more visible.

@faustinoaq
Copy link
Contributor

Hi people!

I think would be nice to see vscode folding with info about amount of lines folded like Netbeans:

screenshot_20170620_215124

BTW: Thank you for this awesome code editor! 😄

Related issue here: #29155

@ArthaTi
Copy link

ArthaTi commented May 12, 2018

I would really like to see this implemented. But, in the meantime, is there an extension that does that?

@garpunkal
Copy link

I would to see this implemented soon. It's a right pain. Visual Studio working perfectly for collapse and expanding structure.

@daiyam
Copy link
Contributor

daiyam commented Apr 1, 2022

@angelozerr I think your issue is different from the original issue. You should open a new one.

@angelozerr
Copy link
Contributor

@angelozerr I think your issue is different from the original issue. You should open a new one.

I would like to highlight a problem with the "Collapse ending brace to the same line" issue but if you think it's better to create a new issue, I can do that.

@n-gist
Copy link
Contributor

n-gist commented Sep 4, 2022

Explicit Folding extension does the trick.

But while I was reading this thread.

As @aeschli mentioned:

Since a while we allow extensions to contribute folding range providers. If none is present we fall back to indentation based folding ranges.

I checked it in .js file for this piece of code (} is aligned to return for this test)

if (folding) {
    return;
    }

And it turned out that it folds differently based on editor.foldingStrategy. It folds to

if (folding) { ...
    }

For auto, and to

if (folding) { ...

For indentation

This could mean that, unlike in the past, now indentation-based stategy is not the only one VS Code has, and there is already some bracket-based or language-specific strategies under the hood, or indentation-based add-ons that weren't thought of as a possibility before. In any case, it looks like there is now room for the code that can solve the issue.

@jonlepage
Copy link

r

not work at all for me

@mtbaqer
Copy link
Contributor

mtbaqer commented Jan 23, 2023

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:

https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding

A demo of the extension in action:

Screen.Recording.2023-01-23.at.11.29.10.mov

@jonlepage
Copy link

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:

https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding

A demo of the extension in action:

Screen.Recording.2023-01-23.at.11.29.10.mov

My Hero !!

@AlekseyPolishchuk
Copy link

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:

https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding

A demo of the extension in action:

Screen.Recording.2023-01-23.at.11.29.10.mov

Cool stuff! But I have one problem, folding stops working in html

@mtbaqer
Copy link
Contributor

mtbaqer commented Jan 23, 2023

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:
https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding
A demo of the extension in action:
Screen.Recording.2023-01-23.at.11.29.10.mov

Cool stuff! But I have one problem, folding stops working in html

HTML, JSX and TSX support coming soon. You can see the full list here

@AlekseyPolishchuk
Copy link

HTML, JSX and TSX support coming soon. You can see the full list here

This is great! Thanks a lot. I'm looking forward to it.

@tresabhi
Copy link

tresabhi commented Jan 24, 2023

@mtbaqer that's amazing! Could you also publish this on Open VSX?

@Cyberavater
Copy link

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:

https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding

A demo of the extension in action:

Screen.Recording.2023-01-23.at.11.29.10.mov

Thanks man, I was waiting for it for a long time.

@niczoom
Copy link

niczoom commented Feb 26, 2023

Thanks for your hard work, the folding extension is fantastic!

@realfresh
Copy link

Hey everyone, I managed to make an extension that solves this problem along with other many requested folding-related issues. You can find it here:

https://marketplace.visualstudio.com/items?itemName=MohammadBaqer.better-folding

A demo of the extension in action:

Screen.Recording.2023-01-23.at.11.29.10.mov

Mate, you are a bloody legend!

@Mr-D-Anderson
Copy link

image
It still shows the closing bracket for me. Didn't change any settings.

@ScottBeeson
Copy link

@mtbaqer 's extension "Better Folding" works great! Until you restart vscode. Then it reverts to the default behavior.

Immediately after installation:
image

After restarting vscode:
image

@jucdev
Copy link

jucdev commented Nov 29, 2024

I know there are some alternatives (thanks to the plugin makers), but please, it's been more than 8 years since we ask for this !

I think VSCode is maybe the greatest code editor of all time (at least for the moment).

Make it even mor legendary by adding this feature ! <3

@Rolanddoda
Copy link

Is this so difficult to add?

@dmjoker
Copy link

dmjoker commented Jan 23, 2025

For almost 10 years now, people have been asking to do normal code folding. I guess we should wait another 10 years before we start using vscode. lol.

@Ashkan-Oliaie
Copy link

@ScottBeeson
Thanks man, that "Better Folding" actually works.
After restarting it takes a few seconds to update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editor-folding Editor code folding issues feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests