| 1 |
# Oxygen for Visual Studio Code |
| 2 |
|
| 3 |
Source control integration for Oxygen (`oxy`) repositories: a |
| 4 |
Source Control view with changes and conflicts, diffs against the working |
| 5 |
copy's base, quick-diff gutters, explorer decorations, a status bar item, and |
| 6 |
commit from the input box. The full design, milestone by milestone, is in |
| 7 |
`docs/spec.md` in this repository. |
| 8 |
|
| 9 |
## Requirements |
| 10 |
|
| 11 |
- Visual Studio Code 1.137 or later. |
| 12 |
- `oxy` 0.1 or later on your PATH, at `~/.local/bin/oxy`, or named in the |
| 13 |
`oxygen.path` setting. The extension drives `oxy --json` and never reads |
| 14 |
`.oxy/` itself. |
| 15 |
|
| 16 |
## Building |
| 17 |
|
| 18 |
``` |
| 19 |
npm install |
| 20 |
npm run check # typecheck, bundle, and test against the oxy binary |
| 21 |
npm run package # oxygen-vscode-<version>.vsix |
| 22 |
code --install-extension oxygen-vscode-0.1.0.vsix |
| 23 |
``` |
| 24 |
|
| 25 |
`npm run watch` rebuilds on change; press F5 in VS Code to launch an |
| 26 |
Extension Development Host with the bundle. |
| 27 |
|
| 28 |
## What it does |
| 29 |
|
| 30 |
- **Source Control view**: Changes, Conflicts and Subrepos groups; open |
| 31 |
changes as a diff against the working copy's base; discard, commit |
| 32 |
selected paths, commit chosen hunks, amend; `Ctrl+Enter` commits. |
| 33 |
- **Editor**: quick-diff gutters, explorer and tab decorations, inline blame |
| 34 |
(toggle from the context menu), file history with diffs between versions, |
| 35 |
CodeLens actions over conflict markers (accept a side, all sides, or a |
| 36 |
deletion), keep-this-candidate for tree conflicts, Mark Resolved. |
| 37 |
- **Status bar**: bookmark, working copy and state; click to switch, create, |
| 38 |
merge or delete bookmarks; a sync counter with Sync, Fetch, Pull, Push and |
| 39 |
Push Bookmark. |
| 40 |
- **Views**: Oxygen Operations (undo to any point), Oxygen Bisect |
| 41 |
(start, good, bad, skip, run, reset), Oxygen Trust (policy, signatures), |
| 42 |
and a History graph with per-change actions (diff, check out, describe, |
| 43 |
tag, abandon). |
| 44 |
- **Commands**: Show History, File History, Tags, Create Tag, Add Workspace, |
| 45 |
Update Subrepos, Verify Signatures, Clone Repository, Initialize Repository, |
| 46 |
Show Output. |
| 47 |
|
| 48 |
## Status |
| 49 |
|
| 50 |
Milestones 0.1 to 0.6 of the spec are implemented (see CHANGELOG.md). Left |
| 51 |
for 1.0: tests on macOS and Windows, a Marketplace publisher, and the open |
| 52 |
questions in the spec. |
| 53 |
|
| 54 |
## Licence |
| 55 |
|
| 56 |
MIT or Apache-2.0, at your option, as for Oxygen itself. |