-
Notifications
You must be signed in to change notification settings - Fork 28.8k
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
Comments
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 |
👍 |
ping @alexandrudima |
👍 |
👍 definitely, would help so much |
I like how Jetbrains does theirs which matches "bracket" 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. I also really like how notepad++ puts the trailing line as mentioned in Alternative Designs #2 |
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 |
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. |
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. |
I like the 'Brackets' example, looks clean |
Hi people! I think would be nice to see vscode folding with info about amount of lines folded like Netbeans: BTW: Thank you for this awesome code editor! 😄 Related issue here: #29155 |
I would really like to see this implemented. But, in the meantime, is there an extension that does that? |
I would to see this implemented soon. It's a right pain. Visual Studio working perfectly for collapse and expanding structure. |
@stevemcmillen: Code folding can be based on one of two things: (1) indentation (2) language specific rules. It is set in the settings with editor.foldingStrategy, to either "indentation" or "auto" (auto = language specific rules). That, arguably makes this issue a little more complicated than you're suggesting, however I still agree that it should be a higher priority than it seems to be. Every decent IDE does this. I for one don't understand why it's apparently so difficult and not a priority for VSCode -- well other than the fact that the VSCode devs are devs like us, and as with any dev project, we juggle priorities based on many factors, including demand, ease/difficulty of implementation, and others. Presumably if this thread grows and more people are +1-ing it, then that's increased "demand" and will hopefully push it up. |
After my comment above, I feel a need to add the following: There's a number of requests here, and maybe this should be broken out into a few separate "issues"...?
I think that's everything. If anyone thinks I missed anything please feel free to let me know. To the VSCode devs (@joaomoreno ?, @aeschli ?): The explicit-folding extension gets some of this right -- without having access to internal code. You guys did a pretty good job with bracket pair colorization, improving on and acknowledging CoenraadS's work. Is there anything significant stopping you from doing the same with daiyam's?**. And it's not like you have to do it all at once. Is there anything stopping you at least implementing natively what daiyam has done, and then adding to it bit by bit over time from there? I understand your point about it being up to the language extension providers, so ok... what about the language extensions provided with VSCode/by Microsoft (JS, TS, C++, to name a few)? Please correct me if I've misunderstood the connection between VSCode and those extensions. If not you guys, who do we talk to about those particular languages? ( ** @daiyam I seem to recall you stating you'd be happy for them to do that, but can't find where I saw that. Please correct me if I'm wrong). |
In our XML Language Server we decide to support this issue, but it provides this bug redhat-developer/vscode-xml#690 (comment) In other words, if you have this XML: <note>
<foo>
bla bla bla
</foo>
</note> and you fold the root <foo>
bla bla bla
</foo>
</note> In Eclipse IDE, it solves the problem by opening the fold, when you try to update it.
|
@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. |
Explicit Folding extension does the trick. But while I was reading this thread. As @aeschli mentioned:
I checked it in .js file for this piece of code (
And it turned out that it folds differently based on
For
For 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. |
not work at all for me |
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 !! |
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 |
This is great! Thanks a lot. I'm looking forward to it. |
Thanks man, I was waiting for it for a long time. |
Thanks for your hard work, the folding extension is fantastic! |
Mate, you are a bloody legend! |
@mtbaqer 's extension "Better Folding" works great! Until you restart vscode. Then it reverts to the default behavior. |
Consider a large JavaScript file
Collapsing all currently yields:
This would be more readable if the closing brace was on the same line:
Here is how other prominent editors handle the above:
Atom
Brackets
Sublime Text 3
VS Code
The text was updated successfully, but these errors were encountered: