ResulticksGit VSCode Extension
A powerful VSCode extension for ResulticksGit/ResulGit - Clone, push, pull, and manage repositories from your custom Git server.
🔀 ResulticksGit Source Control for VSCode
Features
🚀 Full Git-like Experience
- Clone repositories from your ResulticksGit server
- Stage and commit changes with a familiar workflow
- Push and pull to sync with remote
- Branch management - create, switch, delete branches
- View commit history with detailed information
📊 Source Control Integration
- Native VSCode Source Control panel integration
- Visual diff for changed files
- Inline actions for staging/unstaging files
- Status bar showing current branch and sync status
🌳 Activity Bar Views
- Repository Info - See current repo, branch, and server
- Changes - View staged and unstaged changes
- Branches - Manage all branches
- History - Browse commit history
🆕 Advanced Features
📝 Git Graph
Visual commit graph showing all commits and branches with checkout, cherry-pick, and revert options.
🔍 Blame Annotations
Toggle inline annotations showing who modified each line and when.
📦 Stash Management
Stash Changes - Save work-in-progress without committing
Pop Stash - Apply and remove the latest stash
List Stashes - View and manage all stashes
- Create tags at any commit
- List and manage all tags
- View tag details
💬 Commit Templates
Conventional commit templates (feat, fix, docs, refactor, etc.) for consistent commit messages.
🔎 Search Commits
- Search by message, author, or commit ID
- Filter by date range
- Browse by author
📐 Quick Diff
Inline gutter indicators showing added, modified, and deleted lines.
🔄 Auto-Fetch
Automatic background refresh with notifications for new remote commits.
⌨️ Keyboard Shortcuts
Cmd/Ctrl+Shift+G C - Commit staged changes
Cmd/Ctrl+Shift+G P - Push to remote
Cmd/Ctrl+Shift+G L - Pull from remote
Cmd/Ctrl+Shift+G A - Stage all changes
Cmd/Ctrl+Shift+G R - Refresh status
Installation
From Source (Development)
Navigate to the extension directory:
cd vscode-extension
Install dependencies:
npm install
Compile the extension:
npm run compile
Debug/Run:
- Press
F5 in VSCode to launch a new Extension Development Host window
- Or run
npm run watch for continuous compilation
Package as VSIX
Install vsce (Visual Studio Code Extension manager):
npm install -g @vscode/vsce
Package the extension:
npm run package
This creates resulticksgit-1.0.0.vsix
Install the VSIX:
- In VSCode, go to Extensions (
Cmd/Ctrl+Shift+X)
- Click the
... menu → "Install from VSIX..."
- Select the generated
.vsix file
Configuration
Configure ResulticksGit in VSCode Settings:
{
"resulticksgit.serverUrl": "https://gitu.resulticks.com",
"resulticksgit.token": "",
"resulticksgit.autoFetch": true,
"resulticksgit.refreshInterval": 30
}
| Setting |
Description |
Default |
resulticksgit.serverUrl |
ResulticksGit server URL |
https://gitu.resulticks.com |
resulticksgit.token |
Authentication token |
"" |
resulticksgit.autoFetch |
Auto-fetch on startup |
true |
resulticksgit.refreshInterval |
Refresh interval in seconds (0 to disable) |
30 |
Usage
Getting Started
Login to your server:
- Open Command Palette (
Cmd/Ctrl+Shift+P)
- Run
ResulticksGit: Login
- Enter your email and password
Clone a repository:
- Open Command Palette
- Run
ResulticksGit: Clone Repository
- Select from your repositories or enter a URL
Or initialize a new repository:
- Open a folder in VSCode
- Run
ResulticksGit: Initialize Repository
- Enter a name for your new repository
Daily Workflow
Make changes to your files
View changes:
- Click the ResulticksGit icon in the Activity Bar
- Or open the Source Control panel
Stage changes:
- Click
+ next to individual files
- Or use
ResulticksGit: Stage All Changes
Commit:
- Enter a commit message in the input box
- Press
Cmd/Ctrl+Enter or click the checkmark
Push to remote:
- Click the cloud upload icon in the status bar
- Or run
ResulticksGit: Push to Remote
Branch Management
- Create branch: Click
+ in the Branches view
- Switch branch: Click on any branch in the list
- Delete branch: Right-click → Delete
Commands
| Command |
Description |
ResulticksGit: Clone Repository |
Clone a repository from the server |
ResulticksGit: Initialize Repository |
Create a new repository |
ResulticksGit: Stage File |
Stage a file for commit |
ResulticksGit: Stage All Changes |
Stage all modified files |
ResulticksGit: Unstage File |
Remove a file from staging |
ResulticksGit: Commit Staged Changes |
Create a commit |
ResulticksGit: Push to Remote |
Push pending changes |
ResulticksGit: Pull from Remote |
Pull latest changes |
ResulticksGit: Sync |
Pull then push |
ResulticksGit: Discard Changes |
Revert file to remote version |
ResulticksGit: Create Branch |
Create a new branch |
ResulticksGit: Switch Branch |
Switch to another branch |
ResulticksGit: Delete Branch |
Delete a branch |
ResulticksGit: View Commit History |
Browse commit history |
ResulticksGit: Login |
Authenticate with server |
ResulticksGit: Logout |
Clear authentication |
ResulticksGit: Set Server URL |
Change server URL |
ResulticksGit: Refresh |
Refresh repository status |
Architecture
vscode-extension/
├── src/
│ ├── extension.ts # Main entry point
│ ├── api.ts # API client for server communication
│ ├── repository.ts # Local repository management
│ ├── scmProvider.ts # VSCode SCM integration
│ ├── statusBar.ts # Status bar management
│ ├── commands/ # Command implementations
│ │ ├── clone.ts
│ │ ├── commit.ts
│ │ ├── branch.ts
│ │ └── sync.ts
│ └── views/ # Tree view providers
│ ├── changesProvider.ts
│ ├── branchesProvider.ts
│ ├── historyProvider.ts
│ └── repoInfoProvider.ts
├── media/
│ └── icon.svg # Extension icon
├── package.json # Extension manifest
└── tsconfig.json # TypeScript configuration
Troubleshooting
Extension not activating?
- Make sure you have a
.vcs-next folder or .git/vcs-next.json in your workspace
- Or use the Clone/Initialize commands to create a new repository
Authentication issues?
- Run
ResulticksGit: Login to authenticate
- Check that the server URL is correct in settings
- Verify your token hasn't expired
Connection refused?
- Check that the ResulticksGit server is running
- Verify the server URL in settings
- Check network/firewall settings
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT License - Feel free to use and modify.
Made with ❤️ for the ResulticksGit project