Add project folder

I’m just wanting to know how Add project folder works and does it work with how I structure my projects directory. The majority of my projects or lessons I take on Udemy or through computer books, and this is how I would typically organize my projects directory.

~/projects/udemy/courseName/section#/files.c,c++,html,php,etc…
~/projects/books/bookName/chapter#/files.c,c++,html,php,etc…

What what level do I need to add a project folder? I would hate it if I need to add a project folder for every single inner most project to the section or chapter name. Could I and what would the difference be if I were to just add a top level project directory at:
~/projects/ ?

The next best thing would be if I could add a project directory at:
~/projects/udemy/courseName/
~/projects/books/bookName/

I would hate to need to do that for every single chapter/section, or even worse, every piece of code/example I write under …/section/ or …/chapter/

What’s the best way to use Atom’s Add Project Folder and how does it behave depending on how high up or down in the directory structure/tree you set as a project folder? Thanks for any and all help.

There is no general answer which applies to every development/learning workflow. I can offer ideas from my own workflow in Ubuntu 20.04

First, if you are in Ubuntu/Linux (as looks likely from your filepaths) you can (optionally) leverage a frontend file manager such as Krusader to launch folder/filepaths in Atom tree-view. In this workflow you use external file manager to launch projects. I use Krusader Useractions scripting for this. But this frontend driver is what I dreamed up for my own use. Other file managers are Midnight Commander etc.

Second, you could keep symlinks in a development folder which links to different projects. Then the symlinks are placed in Atom tree-view. This allows a single point containing symlinks which connect (fan out) to multiple folders in your desktop.

Third, instead of above options, or in addition, you can install project-viewer package which on launching any project defined therein pushes into tree-view.

These workflows I find complement “Add Folder” in Atom.

I suggest that you start by exploring just project-viewer to work in concert with tree-view.

And to answer your question - you can use a single root project folder ~/projects/

1 Like

Thanks a lot, I will look into these, and I’m using Linux Mint which is pretty much Ubuntu. The symlink option looks simple and I understand it, I didn’t actually understand your first option at all, did you mean that you simple double click/select a source code file from a file browser with Atom set as the default manager for that file type, thus it would open that directory and it’s contents? Thanks again!

You can install Krusader in Mint … just note that it comes with heavy KDE baggage which you might not use to the full. It is an optional front end.

Basically I configure Atom to be just one tool in a multi-app toolchain. The start of the toolchain might be Krusader and the binding of Krusader to Atom is through UserActions in Krusader.
Read about UserActions in Krusader manual.

In Useractions > Manage User Action you hit Create new useraction .

I show here examples of some of the custom UserActions I have created. I obscure one for privacy since it names a project.

The specific UserAction which launches files/folders/symlinks is shown.

In the Krusader dual window GUI I select a file/folder/symlink, right click > User Actions > Krusader Actions > select Action to apply.

Note that I use Krusader UserActions to pipe to additional apps.

At the Atom end you can use Atom package process-palette (in a similar way to UserActions) to pipe to external resources. Again they are just links in a toolchain, using Atom variables and commands. In the Krusader to Atom UserAction I can bind to either Atom tree-view or project-viewer (which I discussed earlier).

Note that Windows users might use TotalCommander instead.

https://www.ghisler.ch/wiki/index.php?title=User-defined_command

Kubernetes