Ionide-vscode-fsharp: Feature: custom tree view of current project

Created on 28 Oct 2016  路  13Comments  路  Source: ionide/ionide-vscode-fsharp

Once https://github.com/Microsoft/vscode/pull/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.

Most helpful comment

ionide-project

All 13 comments

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

Prototype on workspaceTree branch.

@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

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

@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

capture

Prototype using new tree API from https://github.com/Microsoft/vscode/issues/26948

Awesome @Krzysztof-Cieslak !!

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

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

It's... beautiful

ionide-project

:kiss:

How do you select what project you are on?

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

Initial version implemented in 2.26.1

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sergey-tihon picture sergey-tihon  路  6Comments

cloudRoutine picture cloudRoutine  路  5Comments

MikaelUmaN picture MikaelUmaN  路  5Comments

isaacabraham picture isaacabraham  路  5Comments

cartermp picture cartermp  路  4Comments