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

Feature: custom tree view of current project #248

Closed
rmunn opened this issue Oct 28, 2016 · 13 comments
Closed

Feature: custom tree view of current project #248

rmunn opened this issue Oct 28, 2016 · 13 comments

Comments

@rmunn
Copy link

rmunn commented Oct 28, 2016

Once microsoft/vscode#14048 is accepted and merged, VS Code will allow extensions to create a custom tree explorer. I'd like to see a visual representation of the .fsproj file -- especially the compilation order of the files in the project. I'd like to be able to click on a file and use Alt+Up or Alt+Down to rearrange it in project order, with visual feedback. (Currently the "F#: Move File Up" and "F#: Move File Down" commands give no visual feedback -- so I'm never sure if they're worked or not.) I'd also like to be able to right-click on a project and choose "Add New File..." or "Add Existing File..." from a popup menu. It might be possible to add more features later (like right-clicking to add project references, which would call Paket with appropriate parameters). But just having a visual representation of the compilation order of my files, and being able to rearrange them without having to look at the ugly XML syntax of .fsproj files, would be all I really want right now.

@Krzysztof-Cieslak
Copy link
Member

Yes, we know about this PR and monitor it. Using it for better project explorer is definitely something we want to do.

@Krzysztof-Cieslak
Copy link
Member

Prototype on workspaceTree branch.

@enricosada
Copy link
Contributor

@Krzysztof-Cieslak you need some info (graph of <Compile, None, Content items, anything) to do that with new fsproj?

i can do that easy for readonly (no xml parsing, real msbuild evaluation, like current integration).

NewFsprj -> MsbuildItem list :

type MsbuildItem =
   | Folder of (string: name) * (MsbuildItem list)
   | None of (name: string) * (path: string)
   | Compiler of (name: string) * (path: string)
   | Content of (name: string) * (path: string)

Update is not something i can do now, but new fsproj is easy to manually edit

@Krzysztof-Cieslak
Copy link
Member

Main problem is that usable API on Code side is not released yet shrug

@Kurren123
Copy link

Kurren123 commented Mar 30, 2017

@Krzysztof-Cieslak are there any issues we can monitor to track whether a usable API is coming? IMO this is the biggest thing that Visual Studio has over VS code (for F#) at the moment. If we can make this happen then there will be almost no reason to use Visual Studio.

**Edit: ** found it

@Krzysztof-Cieslak
Copy link
Member

capture

Prototype using new tree API from microsoft/vscode#26948

@enricosada
Copy link
Contributor

enricosada commented May 26, 2017

Awesome @Krzysztof-Cieslak !!

maybe nest p2p under references? so doesnt waste space if collapsed

- `References`
   |- `Nuget packages`
   |- `Project References`
- Files

@Kurren123
Copy link

It's... beautiful

@Krzysztof-Cieslak
Copy link
Member

ionide-project

@forki
Copy link
Contributor

forki commented May 27, 2017

💋

@7sharp9
Copy link
Contributor

7sharp9 commented May 29, 2017

How do you select what project you are on?

@Krzysztof-Cieslak
Copy link
Member

Right now it displays all projects that are in current workspace (currently opened folder in Code)

@Krzysztof-Cieslak
Copy link
Member

Initial version implemented in 2.26.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants