|
| 1 | +# moon |
| 2 | + |
| 3 | +While moon provides a powerful and robust command line, an in-editor interface with deep integration |
| 4 | +can provide a much better developer experience, and that's exactly what this moon console does! |
| 5 | + |
| 6 | +Whether you're just learning, or an experienced veteran, this console will take you to the moon! |
| 7 | + |
| 8 | +## Features |
| 9 | + |
| 10 | +### Projects view |
| 11 | + |
| 12 | +The backbone of moon is the projects view. In this view, all moon configured projects will be |
| 13 | +listed, categorized by their `type`, and designated with their `language`. |
| 14 | + |
| 15 | +Each project can then be expanded to view all available tasks. Tasks can be ran by clicking the `▶` |
| 16 | +icon, or using the command palette. |
| 17 | + |
| 18 | +<img |
| 19 | +src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/projects-view.png" |
| 20 | +alt="Screenshot of projects view" width="300px" /> |
| 21 | + |
| 22 | +> This view is available in both the "Explorer" and "moon" sections. |
| 23 | +
|
| 24 | +### Tags view |
| 25 | + |
| 26 | +Similar to the projects view, the tags view displays projects grouped by their `tags`. |
| 27 | + |
| 28 | +<img |
| 29 | +src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/tags-view.png" |
| 30 | +alt="Screenshot of tags view" width="300px" /> |
| 31 | + |
| 32 | +> This view is only available in the "moon" section. |
| 33 | +
|
| 34 | +### Last run view |
| 35 | + |
| 36 | +Information about the last ran task will be displayed in a beautiful table with detailed stats. |
| 37 | + |
| 38 | +<img |
| 39 | +src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/last-run-view.png" |
| 40 | +alt="Screenshot of last run view" width="300px" /> |
| 41 | + |
| 42 | +> This view is only available in the "moon" section. |
| 43 | +
|
| 44 | +### Control panel |
| 45 | + |
| 46 | +To provide the best experience, all major features, enhancements, and integrations can be found |
| 47 | +within the moon specific control panel. Simply click the moon icon in the activity bar! |
| 48 | + |
| 49 | +<img |
| 50 | +src="https://raw.githubusercontent.com/moonrepo/moon/master/packages/vscode-extension/images/activity-icon.png" |
| 51 | +alt="Screenshot of moon activity" width="50px" /> |
| 52 | + |
| 53 | +## Requirements |
| 54 | + |
| 55 | +This extension requires moon itself to be installed within the opened VS Code workspace. Learn more |
| 56 | +about [installing and configuring moon](https://moonrepo.dev/docs/install)! |
| 57 | + |
| 58 | +## Settings |
| 59 | + |
| 60 | +The following settings are available for this extension. |
| 61 | + |
| 62 | +- `moon.binPath` - Relative path from moon's workspace root to the moon binary. Defaults to |
| 63 | + `node_modules/@moonrepo/cli/moon`. _Windows will auto-suffix with `.exe`!_ |
| 64 | +- `moon.hideTasks` - List of tasks to hide in the projects view, using target syntax. Supports |
| 65 | + fully-qualified targets (`app:build`) and partial targets (`:build` or `*:build`). Defaults to |
| 66 | + `[]`. |
| 67 | +- `moon.logLevel` - The log level to apply to all moon executed commands. Defaults to `info`. |
| 68 | +- `moon.rootPrefixes` - List of relative paths from the editor root in which to find moon's |
| 69 | + workspace root. Defaults to `['.']`. This is useful if moon is initialized in a sub-folder. |
| 70 | + |
| 71 | +## Commands |
| 72 | + |
| 73 | +The following commands are available in the command palette (typically `cmd + shift + p`), and are |
| 74 | +prefixed with "moon". |
| 75 | + |
| 76 | +- **Open settings** - Opens the settings page and filters to all moon applicable settings. |
| 77 | +- **Run task** - Prompts the user for a task(s) and runs it in the terminal. |
| 78 | +- **View action graph** - Opens a panel that renders an interactive action graph visualization. |
| 79 | +- **View project graph** - Opens a panel that renders an interactive project graph visualization. |
| 80 | + |
| 81 | +## Roadmap |
| 82 | + |
| 83 | +- [x] Projects view |
| 84 | + - [x] Categorize projects based on type |
| 85 | + - [x] List tasks |
| 86 | + - [x] Categorize tasks based on type |
| 87 | + - [x] Run a task |
| 88 | + - [x] Check a project |
| 89 | +- [x] Tags view |
| 90 | +- [x] Last run view |
| 91 | +- [x] Commands and command palette |
| 92 | +- [x] Watches and reacts to file system changes. |
| 93 | +- [x] Schema validation for YAML configs |
| 94 | +- [ ] moon language server |
| 95 | +- [ ] Auto-completion |
| 96 | +- [ ] In-editor code generation |
| 97 | +- [x] Graph visualizer |
| 98 | +- [x] Multi-workspace support |
0 commit comments