This is a package built for and by the Atom community. For contribution read below.
This package has grown so much over the last year that I felt the need to make it more stable and community friendly. And this required a more deep refactor with lots of new ideas and improvements, also huge amount of :heart: and :sweat_drops:.
So here it is! Enjoy and contribute! :earth_africa:
Please keep in mind that after Atom
1.17.0
some functionalities changed, and implementations of this package are still being tested for stability.
In a terminal / command line write the following line apm install project-viewer
.
Or just find the package by accessing the menu Atom → Preferences... → Install and search for project-viewer.
Infinite nesting of
groups
which can contain alsoprojects
;
projects
can be at any level.
Double click to default width;
This is available through a config option, default is not autohide.
Toggling focus will switch between current active element and the panel.
SelectListView
integration;
Only shows
projects
.
projects
with up
and down
keys;groups
with left
and right
keys;status-bar
with the project
's' breadcrumb path;groups
and projects
;
group
or project
into a group
will add it as a child;group
or project
into an project
will add it as sibling of the dropped item;group
or project
into a clear space in the panel will add it as a root child;group
/ project
accordingly with dropped group
sorting.groups
/ projects
creation and update;
group
or project
;project
creation;Ability to create individual
projects
when more than one path is provided;
Each project will automatically have it's name set to it's path base name.
This is available through a config option, default is icon and description.
groups
/ projects
.Sorting root
groups
/projects
is done through a config option.
group
or project
;
Create option is only available in
groups
or theroot
.
finder
or explorer
's alike');groups
and / or projects
list message;groups
and projects
;project
and for selected project
;project
in a new window or vice versa;
This is available through a config option which will switch between what is the primary option, defaults to open in same window;
Context menu switching also available.
tree-view
to a project
;Add Project Folder
and Remove Project Folder
will update current selected project as well;projects
.
This is available through a config option, default is switch contexts.
shift-ctrl-alt-c
toggles sidebar autohide;shift-ctrl-alt-v
toggles sidebar visibility;shift-ctrl-alt-n
open the editor tab;shift-ctrl-alt-m
toggle focus from active panel and the sidebar;shift-ctrl-alt-l
toggle the select list modal;Settings | Type | Description | Default |
---|---|---|---|
visibilityOption |
String |
Define what would be the default action for project-viewer visibility on startup. | Display on startup |
visibilityActive |
Boolean |
Relative to the interaction option selected above. | true |
panelPosition |
String |
Position the panel to the left or right of the main pane. | Right |
autoHide |
Boolean |
Panel has auto hide with hover behavior. | false |
hideHeader |
Boolean |
You can have more space for the list by hiding the header. | false |
keepContext |
Boolean |
When switching from items, if set to true , will keep current context. Also will not save contexts between switching. |
false |
openNewWindow |
Boolean |
Always open items in a new window. | false |
statusBar |
Boolean |
Will show the breadcrumb to the current opened project in the status-bar . |
false |
customWidth |
Integer |
Define a custom width for the panel. double clicking on the resizer will reset the width |
200 |
customHotZone |
Integer |
Cursor movement within this width will make a hidden panel appear | 20 |
rootSortBy |
Array |
Sets the root sort by. | position |
onlyIcons |
Boolean |
Will show only the icons in the icon\'s list | true |
customPalette |
String |
Custom palette to use on editor | #F1E4E8, #F7B05B, #595959, #CD5334, #EDB88B, #23282E, #263655, #F75468, #FF808F, #FFDB80, #292E1E, #248232, #2BA84A, #D8DAD3, #FCFFFC, #8EA604, #F5BB00, #EC9F05, #FF5722, #BF3100 |
customSelectedColor |
String |
Set custom selected project color | '' |
customHoverColor |
String |
Set custom hover project color | '' |
customTitleColor |
String |
Set custom main title color | '' |
packagesReload |
String |
List of packages to reload | status-bar, linter, linter-ui-default |
disclaimer |
Object |
Show release notes on startup | true |
Keep in mind that this package uses Atom's Storage to save all groups and projects. It is wise to save it to the cloud (ex: you can import and export a private Gist through this package!).
Change it at your own risk! :speak_no_evil:
Parameter | Type | Description | Default | Required |
---|---|---|---|---|
type |
String |
The type of the model | group |
true |
name |
String |
The name of the project | In theory... any string / emoji | true |
sortBy |
String |
Sorting of the nested groups and projects |
Possible options are position , reserve-position , alphabetically and reverse-alphabetically |
true |
icon |
String |
Custom icon octicons or devicons |
'' |
false |
color |
String |
Custom color | '' |
false |
expanded |
Boolean |
group is collapsed or expanded |
false |
true |
list |
Array |
An array of models (group or project |
[] |
true |
Parameter | Type | Description | Default | Required |
---|---|---|---|---|
type |
String |
The type of the model | project |
true |
name |
String |
The name of the project | In theory... any strj g / emoji | true |
icon |
String |
Custom icon octicons or devicons |
'' |
false |
color |
String |
Custom color | '' |
false |
devMode |
Boolean |
Not working for now | false |
false |
config |
Object |
Not working for now | {} |
false |
paths |
Array |
An array of the root files beloging to the project | [] |
true |
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
If you feel you were left out, just shout!
You can follow me on Twitter
I thank you all for giving such great feedback! :beers: & :bear: for everyone.