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

File Nesting #6328

Closed
ciel opened this issue May 12, 2016 · 202 comments
Closed

File Nesting #6328

ciel opened this issue May 12, 2016 · 202 comments
Assignees
Labels
feature-request Request for new features or functionality file-explorer Explorer widget issues on-testplan ux User experience issues
Milestone

Comments

@ciel
Copy link

ciel commented May 12, 2016

Is there any possible chance we might see File Nesting in Visual Studio Code the same way it works in Visual Studio 2015? It was really convenient and helpful. I would adore such a feature!

@isidorn isidorn added the feature-request Request for new features or functionality label May 12, 2016
@isidorn
Copy link
Contributor

isidorn commented May 12, 2016

fyi @bpasero

@bpasero bpasero added the file-explorer Explorer widget issues label May 13, 2016
@bpasero bpasero self-assigned this May 13, 2016
@bpasero bpasero added this to the Backlog milestone May 13, 2016
@ciel
Copy link
Author

ciel commented May 13, 2016

The most ideal scenario for this is that anything that starts with the same text as a parent file, minus the extension gets nested, like this;

File1.cs
--- File1.File2.cs
--- File1.File3.cs
------ File1.File3.File4.cs

@bpasero
Copy link
Member

bpasero commented Jul 15, 2016

No plans at the moment. Closing until we reconsider this.

@bpasero bpasero closed this as completed Jul 15, 2016
@playerx
Copy link

playerx commented Jul 19, 2016

This is important feature for large projects. I'm using asp.net vNext for Angular project and now I've following structure automatically (by naming):

src
--app.component.ts
----app.component.ts.sass
----app.component.ts.html
--login.component.ts
----login.component.ts.sass
----login.component.ts.html

In VS Code Explorer I got:

src
--app.component.ts
--app.component.ts.sass
--app.component.ts.html
--login.component.ts
--login.component.ts.sass
--login.component.ts.html

Creating folders for each component is bad solution for angular project (you will need to change references).

We need this feature to move to VS Code.

@serhiisol
Copy link

Agree, at least ts + js + map files (for instance like webstorm does)

@CreepGin
Copy link

It would be great to have file nesting for ts + js + map + style.

Currently we are hiding the .js and .map files which makes checking them an annoyance. Even with just ts + css, the sidebar still feels bloated.

@wupaz
Copy link

wupaz commented Sep 11, 2016

Agree I wish file nesting like this (especially for ng2)

Html
--css
--ts
-- etc ...

@uxsoft
Copy link

uxsoft commented Sep 15, 2016

Please reconsider this! This is such an important issue.

Theres so many cases where generated files just clutter the workspace. Typescript! Typescript which you use as well! is a prime example. Or LESS/SASS -> css. Or Jade -> Html

@ajsheehan
Copy link

There is the option to conditionally hide the generated files. For example:

"files.exclude": {
    "**/*.js": {"when": "$(basename).ts"}
}

This same principal could be applied to your css and map files.

@uxsoft
Copy link

uxsoft commented Sep 24, 2016

And i am using that option. The problem arises when i want to see the
hidden files. Also its not clear whether the hidden files are actually
there (that the generation is working...), which makes me open the folder
in explorer where the files are also not grouped... another thing is that
some of my collegues arent comfortable with not seeing half the files in
the project and we would like to use the same settings for the whole team.

For some reason most other editors deemed this feature useful enough to
implement it so why not vs code.

I would like to note that this is really not a complicated feature. Im
pretty sure it can be done in a day. (I was thinking about making a pull
request but it might require some small changes to the architecture around
FileStat)

On Sunday, September 25, 2016, Andrew Sheehan notifications@github.com
wrote:

There is the option to conditionally hide the generated files. For example:

"files.exclude": {
"*/.js": {"when": "$(basename).ts"}
}

This same principal could be applied to your css and map files.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#6328 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABzUP4LXESXZpGtY1iFZJmmy9J10k4-Uks5qta2DgaJpZM4IdUnr
.

@RizwanAslam
Copy link

+1

@canda
Copy link

canda commented Oct 5, 2016

any extension that may do the job?

@MarcelMalik
Copy link

Why is this closed? It's not implemented and would be a great feature.

@mbeckenbach
Copy link

@uxsoft

For some reason most other editors deemed this feature useful enough to
implement it so why not vs code.

Maybe because they need a reason for people to use the real visual studio :-)

@bpasero
Copy link
Member

bpasero commented Oct 14, 2016

This should have not been closed, reopening. Though there might exist duplicates meanwhile.

@bpasero bpasero reopened this Oct 14, 2016
@bpasero bpasero removed this from the Backlog milestone Oct 14, 2016
@bpasero bpasero removed their assignment Oct 14, 2016
@bpasero bpasero added the ux User experience issues label Oct 14, 2016
@bpasero
Copy link
Member

bpasero commented Oct 14, 2016

@stevencl @chrisdias @seanmcbreen @egamma fyi we need some PM steering and guiding here if we want to turn the file explorer into a logical view. An initial PR was created by @playerx in #13754

My 2 cents at the moment: we should think about a solution for the scenarios our users want to solve and my feeling is that only supporting to show similar files in the same level below a root file is not enough. People may want something powerful as the solution explorer in VS.

@playerx
Copy link

playerx commented Oct 15, 2016

@bpasero, my apologies, but question you asked is not correct. there are two different kind of features:

N1. Turn the file explorer into a logical view
Example: you can link fileA ("directoryX/fileA"), to fileB, which is placed in directoryY

N2. Give file explorer support to show real files with more elegant way and give developers ability to enable this feature, example:
8aa29120-922e-11e6-9931-c6b2200a7940

Feature N1 and Feature N2 are not the same, it's very important part here, they don't cover each other.

Thanks

@bpasero
Copy link
Member

bpasero commented Oct 16, 2016

@playerx I brought up the solution explorer because the description of this issue a reference to Visual Studio 2015 is made and to my knowledge there is only the solution explorer.

Independent from VS, our own project is putting all generated MAP and JS files into a out folder, not on the same level as the TS files and I am sure there are other projects that do the same. My point is that I would expect to nest those files under the TS files in the same way you do it when they are on the same level.

To me, nesting is not about grouping files with the same extension together, it is about showing files together that logically belong together (aka "derived resources"). Does that make sense?

@mbeckenbach
Copy link

@playerx N2 looks much better. For the angular 2 cli users, this should not require that naming convention. Maybe there could be some configurable pattern like in the hide files configuration.

Angular2 cli creates files like this:

my.component.ts
my.component.html
my.component.scss/css/less

@playerx
Copy link

playerx commented Oct 16, 2016

@mbeckenbach good example, thanks

@bpasero nesting generated files, under TS files is great example, thanks

I want to ask everyone, let's put every possible practical example here (not theoretical please), that we would use in every day life and let's make solution based on that examples.

Let's the question be:
How to make Explorer "smarter" to visualize real picture of files structure, with more elegant way?

@bpasero okey? I'm still trying not to mix Feature N1 and Feature N2.

@JacksonKearl JacksonKearl modified the milestones: On Deck, January 2022 Jan 17, 2022
@IllusionMH
Copy link
Contributor

image Coincidence?

@JacksonKearl looks like to recording is broken

@markadrake
Copy link

markadrake commented Jan 19, 2022

I don't want this to overshadow the fact that I'm very pleased and happy to see that the team behind VSCode is trying to deliver this feature. I do have some critical feedback about this feature.

Is opening an issue really the best way to discuss this at length? I think issues are not the appropriate place to host discussions on feature sets. Let me know where you want my feedback to go and I'll make sure it gets there.

Perhaps the team could open up the discussions tab?

@favna
Copy link

favna commented Jan 19, 2022

I don't want this to overshadow the fact that I'm very pleased and happy to see that the team behind VSCode is trying to deliver this feature. I do have some critical feedback about this feature.

Is opening an issue really the best way to discuss this at length? I think issues are not the appropriate place to host discussions on feature sets. Let me know where you want my feedback to go and I'll make sure it gets there.

Perhaps the team could open up the discussions tab?

First of all, this issue predates discussions by many many years. I'm guessing you didn't see that the original issue was created on May 12, 2016.
Secondly, this repository doesn't even have discussions enabled.
Thirdly, the README of the repo literally references to the issue list at the line Submit bugs and feature requests, and help us verify as they are checked in as well as in the Contributing guidelines
Fourthly, if there is anything that really doesn't fit into this issue tracker, especially as a comment on a long requested feature like this, then it's people trying to suggest the VSCode team to do things differently from the way they have always done things. Do you really think they have no iteration plans, no retrospectives, no meetings and no internal feedback moments in which concerns like these have ever been voiced?

Honestly, next time you make an attempt at micro-managing someone else's project, maybe do your research first.

@markadrake
Copy link

markadrake commented Jan 19, 2022

Dear favna,

This is as polite as I will be with you. Perhaps English isn't your first language. Perhaps you have lost a loved one in the past 2 years, you have my condolences as many of us have.

I have no idea what's going on in your life to be a complete d-bag to me, but I'll entertain you with one cordial response.

FAVNA: First of all, this issue predates discussions by many many years. I'm guessing you didn't see that the original issue was created on May 12, 2016.

  • Yes, I do know when this issue started. It was in 2016.
  • My first comment on this thread was in April 8th, 2021 when I acknowledge that this issue has been running on for 5 years.
  • Here are screenshots to prove to you I'm not lying.

image
image

Also for your reference, here are some of the many conversations I've tried to have on this topic. I apologize that I haven't put these in chronological order for you.

  1. File Nesting #6328 (comment)
  2. File Nesting #6328 (comment)
  3. File Nesting #6328 (comment)
  4. File Nesting #6328 (comment)
  5. Iteration Plan for January 2022 #139607 (comment)
  6. added "file nesting" support, based on file naming #13754 (comment)

FAVNA: Secondly, this repository doesn't even have discussions enabled.

  • I'm well aware the discussions tab isn't enabled.
  • I asked if the team would consider using it because I didn't feel like an issue is a place to have a discussion.
  • It's just a question or proposal mate. Take your pick.

For reference, so you know that I'm not lying to you again I'm going to quote myself. You should be familiar with what I wrote since you too quoted it in your mean & aggravated reply:

"Perhaps the team could open up the discussions tab?"

FAVNA: Thirdly, the README of the repo literally references to the issue list at the line Submit bugs and feature requests, and help us verify as they are checked in as well as in the Contributing guidelines

Yes, I got this from Jackson's message above, in which I was replying to. I wanted to know if I should open up senseless amounts of issues when I don't know the intent, the design architecture, and the purpose driving the team. It's more of a discussion item. Discussions are (relatively) new to GitHub. Our lives, our code, and our processes are not immutable. Change is allowed. Discussions are allowed. Questions are allowed.

Even your unbridled hostility towards a stranger is allowed.

FAVNA: Fourthly, if there is anything that really doesn't fit into this issue tracker, especially as a comment on a long requested feature like this, then it's people trying to suggest the VSCode team to do things differently from the way they have always done things. Do you really think they have no iteration plans, no retrospectives, no meetings and no internal feedback moments in which concerns like these have ever been voiced?

Well I strongly suggest something changes.

The team behind Visual Studio Code doesn't appear to work closely with the Visual Studio team.

The team behind Visual Studio Code doesn't appear to work closely with the .NET Core team.

That's why I came here, to be proactive, to help share some thoughts and opinions as somebody who uses a Microsoft stack of technologies across web, mobile, and mixed reality. I would think my opinion has some value to the team.

Example: There's already a schema available to us in the open source, cross platform, .NET Core framework for defining nesting rules. I think it would be nice for compatibility. Also if VSCode could see that I have the rules defined already in the solution.

To Everyone Else as Confused As I Am

I was simply asking a question and proposing we turn on discussions for long winded issues like this. That's fine if you don't like my suggestion. I don't know what favna is going on about, but I don't think for a moment I was trying to dictate anything much less run somebody else's open source project.

@JacksonKearl
Copy link
Contributor

@markadrake Yes, please open issues to provide feedback. The number of participants in this thread makes it inefficient for discussing finer details.

Please do link to this issue in any new issues created, so this issue's timeline can provide an index of ongoing/resolved side discussions for interested parties, without spamming every participant.

@coeur85
Copy link

coeur85 commented Jan 20, 2022

The latest Insiders contains several explorer.experimental.fileNesting.* settings. Feedback appreciated!

(As this is experimental stage, expect bugs. ❤️ to any 🐛 reports that include a repo link, reproduction steps, and a screen recording!)

would you care to give an example of how it works ?

@coeur85
Copy link

coeur85 commented Jan 20, 2022

The latest Insiders contains several explorer.experimental.fileNesting.* settings. Feedback appreciated!
(As this is experimental stage, expect bugs. ❤️ to any 🐛 reports that include a repo link, reproduction steps, and a screen recording!)

would you car you give an example of how it works ?

never mind i figured it out , thank you :)

@tjx666
Copy link
Contributor

tjx666 commented Jan 25, 2022

Just set:

"explorer.experimental.fileNesting.enabled": true,

@heartacker
Copy link
Contributor

is there any API for language server to nest file?
for example:
.cpp/.h is used for cpp-tools https://github.com/microsoft/vscode-cpptools
.xaml/.xaml.cs is used for C# WPF

@JacksonKearl
Copy link
Contributor

@heartacker no, though you can configure that in your settings with something like:

"explorer.experimental.fileNesting.patterns": {
  "*.cpp": "$(capture).h",
  "*.xaml": "$(capture).xaml.cs"
}

Alternatively, "*": "$(capture).*" for the general "addedExtension" case (in VS parlance).

Closing this out as the feature is released and will be available in the next stable release (in around 1 week). Please do continue to provide feedback in new issues, I'll remove this from experimental scope when I feel confident that the implementation meets general expectations.

@marsen
Copy link

marsen commented Jan 25, 2022

So good to hear this feature implemented,
I can't wait, where can I have a try with the trial version?

❤️

@funder7
Copy link

funder7 commented Feb 5, 2022

It looks like it's reported in the 1.64.0 changelog (experimental feature):

image

@davidgabrichidze
Copy link

Wouldn't it be more UX-friendly if nested files will move with the parent one when I change the location of the parent file?
(e.g., drag and drop, or copy-paste).

It would be the same experience when I change the folder's location, including its content.

@IllusionMH
Copy link
Contributor

@davidgabrichidze looks like great request, however I think it's better to create new issue for it instead of piling on 6 years old closed issue.

@davidgabrichidze
Copy link

@IllusionMH Yes, indeed, good idea.

I've created one #143632

@selrond
Copy link
Contributor

selrond commented Mar 8, 2022

Is there any way for custom file icons to indicate the nesting besides showing the arrows (which many hide in favor of custom folder icons)?

See moxer-theme/moxer-icons-code#40

@JacksonKearl
Copy link
Contributor

@selrond looking into that this iteration, likely going to force arrows to show for nests even if they don't for folders.

@pichayean
Copy link

Thk
image

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality file-explorer Explorer widget issues on-testplan ux User experience issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.