Skip to content

Test: File Nesting #141354

@JacksonKearl

Description

@JacksonKearl

Refs: #6328

Complexity: 4

Create Issue


This iteration we added (experimental) support for file nesting. There are several settings to try out:

  • explorer.experimental.fileNesting.enabled, main switch for nesting. Verify that the explorer enables/disables nesting live when toggled.
  • explorer.experimental.fileNesting.expand, controls whether file nests get expanded by default upon expanding a folder's contents. (Note that expansion state is stored, so reopening a folder after toggling this has no effect)
  • explorer.experimental.fileNesting.patterns, central configuration for the whole operation. Some things to verify:
    • The vscode repo has a local configuration for this, verify that works and inheritance behaves in a way you expect
    • The prebuilt patterns work as expected (for instance*.ts => $(capture).js, $(capture).d.ts)
    • The addedExtension pattern works: * => $(capture).*
    • pathSegment patterns work: *.js => $(capture).*.js
    • Suffix/prefix/substring patterns work, for instance: foo-*.js => $(capture).js, *.js => foo-$(capture).js, *-foo.js => $(capture).js, *.js => $(capture)-foo.js, foo-*-bar.js => $(capture).js, *.js => foo-$(capture)-bar.js, etc.
    • Anything else you can think of!

Ref https://docs.microsoft.com/en-us/visualstudio/ide/file-nesting-solution-explorer?view=vs-2022 for how VS does this. Generally speaking we should be able to support anything VS does, with the exception of the generic pathSegment operator (".*": {} in VS), which we only support on a per-file extension basis: .js => $(capture)..js`

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions