Creating & Managing Snippets
This guide covers everything you need to know about creating, editing, duplicating, and managing your snippet library.
Creating Your First Snippet
Method 1: From Snippets Tab
Step 1: Open Snippets
1. Click "Snippets" in sidebar
2. Click green "NEW SNIPPET" button
3. Or press Ctrl+Shift+N (Cmd+Shift+N on Mac)
Step 2: Fill in Details
┌──────────────────────────────────────────┐
│ New Snippet │
├──────────────────────────────────────────┤
│ Name: * │
│ [Docker Container Restart ] │
│ │
│ Category: │
│ [Docker Commands ▼] │
│ │
│ Description: │
│ [Restart a Docker container by name] │
│ │
│ Command: * │
│ ┌──────────────────────────────────────┐ │
│ │ docker restart {{container_name}} │ │
│ │ │ │
│ └──────────────────────────────────────┘ │
│ │
│ Variables detected: container_name │
│ │
│ [Cancel] [Create] │
└──────────────────────────────────────────┘
Step 3: Save
- Click "Create" button
- Snippet appears in list
- Ready to use!
Method 2: From Terminal Tab
Save command from terminal history:
1. Open Terminal tab
2. Run a command
3. Right-click in terminal
4. Select "Save as Snippet"
5. Edit name and details
6. Save
Perfect for capturing commands you just used!
Method 3: From Template Library
Use pre-made templates:
1. Click "NEW SNIPPET" dropdown
2. Select "From Templates"
3. Browse template categories
4. Click "Use Template"
5. Customize for your needs
6. Save
Method 4: Import from File
Import existing snippet collections:
1. Click "Import" button
2. Select .json file
3. Review snippets
4. Choose which to import
5. Assign categories
6. Complete import
Snippet Fields Explained
Name (Required)
Purpose: Identify the snippet
Best Practices:
✓ "Docker: Container Restart"
✓ "Git: Create Feature Branch"
✓ "Database: MySQL Backup"
✓ "Server: Update Packages"
✗ "snippet1"
✗ "command"
✗ "docker"
Tips:
- Use prefix for category (Docker:, Git:, etc.)
- Start with verb (Restart, Create, Backup)
- Be specific
- Keep under 50 characters
Command (Required)
Purpose: The actual command(s) to execute
Single Command:
docker restart {{container_name}}
Multiple Commands:
cd {{project_path}}
git pull origin {{branch}}
npm install
npm run build
Complex Script:
#!/bin/bash
# Variables
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d_%H%M%S)
# Create backup
mysqldump -u {{user}} -p{{password}} {{database}} \
> $BACKUP_DIR/{{database}}_$DATE.sql
# Compress
gzip $BACKUP_DIR/{{database}}_$DATE.sql
# Cleanup old backups
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete
echo "Backup complete: {{database}}_$DATE.sql.gz"
Category (Optional)
Purpose: Organize snippets into groups
Common Categories:
📁 Docker Commands
📁 Git Operations
📁 Database Management
📁 System Administration
📁 Deployment
📁 Monitoring
📁 Backup & Restore
📁 File Operations
📁 Network Tools
Creating New Category:
1. In category dropdown
2. Click "Create New Category"
3. Enter name
4. Choose color/icon (optional)
5. Save
Description (Optional but Recommended)
Purpose: Document what the snippet does
Good Description:
Restarts a specific Docker container by name.
Use when container needs clean restart after
configuration changes. Safe for production use.
Requirements:
- Docker installed
- Container must exist
- User must have Docker permissions
Include:
- What it does
- When to use it
- Requirements
- Warnings (if any)
- Expected output
Variables
Purpose: Make snippets dynamic
Auto-Detection:
Variables are automatically detected from {{}} syntax:
docker exec -it {{container_name}} {{command}}
↓ ↓
Variable detected Variable detected
Variable Names:
✓ {{container_name}} - Descriptive
✓ {{user}} - Clear
✓ {{backup_file}} - Specific
✓ {{environment}} - Meaningful
✗ {{var1}} - Unclear
✗ {{x}} - Too short
✗ {{a}} - Meaningless
Default Values: You can provide defaults when executing:
container_name: my-app (default)
command: /bin/bash (default)
Editing Snippets
Edit Snippet Details
1. Find snippet in list
2. Click three-dots menu (⋯)
3. Select "Edit"
4. Make changes
5. Click "Save Changes"
Or:
- Right-click snippet
- Select "Edit"
Or:
- Select snippet
- Press E key
Editable Fields
All fields can be edited:
- ✏️ Name
- ✏️ Command
- ✏️ Category
- ✏️ Description
- ✏️ Variables (auto-detected)
Quick Edit
Edit without opening dialog:
1. Click snippet name
2. Type new name
3. Press Enter
Bulk Edit
Edit multiple snippets:
1. Select snippets (Ctrl+Click)
2. Right-click selection
3. Choose "Bulk Edit"
4. Change category/tags
5. Apply to all
Duplicating Snippets
Create variations of existing snippets:
Why Duplicate?
Use Case 1: Different Environments
Original: Deploy to Staging
Duplicate: Deploy to Production
(change server, credentials)
Use Case 2: Similar Commands
Original: Docker Container Start
Duplicate: Docker Container Stop
(change command verb)
Use Case 3: Variations
Original: MySQL Backup (all databases)
Duplicate: MySQL Backup (single database)
(modify command)
How to Duplicate
Method 1: Duplicate Button
1. Find snippet
2. Click three-dots menu (⋯)
3. Select "Duplicate"
4. New snippet created with "(copy)" suffix
5. Edit the duplicate
Method 2: Keyboard Shortcut
1. Select snippet
2. Press Ctrl+D (Cmd+D on Mac)
3. Edit duplicate
Method 3: Right-Click Menu
1. Right-click snippet
2. Select "Duplicate"
3. Confirm
After Duplication
Original: "Docker Restart"
Duplicate: "Docker Restart (copy)"
Rename to: "Docker Restart Production"
Update command with production values
Organizing Snippets
Using Categories
Create Category:
1. Click "Categories" tab
2. Click "New Category"
3. Enter details:
- Name: Docker Commands
- Color: Blue
- Icon: 🐳 (optional)
- Description: All Docker-related commands
4. Save
Assign to Category:
1. Edit snippet
2. Select category from dropdown
3. Save
View by Category:
1. Filter dropdown
2. Select category
3. Only that category shown
Search & Filter
Search by Name:
Type in search box:
"docker" → Shows all Docker snippets
"backup" → Shows all backup snippets
Search by Content:
Searches command content too:
"mysqldump" → Shows all MySQL backup snippets
Filter by Category:
1. Category dropdown
2. Select category
3. View filtered results
Clear Filters:
Click "Clear Filters" button
Or: Ctrl+K (Cmd+K on Mac)
Sorting
Sort Options:
- Name (A-Z)
- Name (Z-A)
- Most Used
- Recently Used
- Recently Created
- Recently Modified
Change Sort:
1. Click sort dropdown
2. Select sort method
3. List reorders
Favorites/Pinning
Mark most-used snippets:
1. Click star icon on snippet
2. Snippet pinned to top
3. Quick access
Keyboard Shortcut:
Select snippet → Press S (star)
Deleting Snippets
Delete Single Snippet
Method 1: Menu
1. Click three-dots menu (⋯)
2. Select "Delete"
3. Confirm deletion
Method 2: Keyboard
1. Select snippet
2. Press Delete/Backspace key
3. Confirm
Method 3: Right-Click
1. Right-click snippet
2. Select "Delete"
3. Confirm
Delete Multiple Snippets
Bulk Delete:
1. Select snippets (Ctrl+Click)
2. Press Delete key
3. Confirm deletion of X snippets
Delete by Category:
1. Right-click category
2. Select "Delete All Snippets"
3. Confirm (careful!)
Soft Delete vs Permanent Delete
Soft Delete (Default):
- Snippet hidden but not removed
- Can be restored
- Useful for cleanup
- Sync-safe
Restore Deleted:
1. Click "Show Deleted"
2. Find snippet
3. Click "Restore"
4. Snippet back in list
Permanent Delete:
1. Show deleted snippets
2. Right-click deleted snippet
3. Select "Permanently Delete"
4. Confirm (cannot be undone!)
Snippet Templates
Using Built-in Templates
Browse Templates:
1. Click "NEW SNIPPET" dropdown
2. Select "From Templates"
3. Browse categories:
- Docker Commands
- Git Operations
- Database Tasks
- System Admin
- Web Development
Use Template:
1. Click template
2. Preview command
3. Click "Use This Template"
4. Customize variables
5. Save as snippet
Creating Your Own Templates
Export as Template:
1. Create perfect snippet
2. Right-click snippet
3. Select "Export as Template"
4. Add to template library
5. Share with team
Template Collections
Import Collection:
1. Download .json template file
2. Click "Import Templates"
3. Select file
4. Review templates
5. Import all or selected
Example Collections Available:
- DevOps Essentials (50 snippets)
- Docker Management (30 snippets)
- Database Admin (40 snippets)
- Git Workflows (25 snippets)
Import & Export
Export Snippets
Export All:
1. Click "Export" button
2. Choose format:
- JSON (recommended)
- Plain text
- Markdown
3. Select location
4. Save file
Export Category:
1. Right-click category
2. Select "Export Category"
3. Choose format
4. Save file
Export Selected:
1. Select snippets (Ctrl+Click)
2. Right-click selection
3. Select "Export Selected"
4. Save file
Export Format (JSON):
{
"version": "1.0",
"exported": "2024-01-15T10:30:00Z",
"snippets": [
{
"name": "Docker Restart",
"command": "docker restart {{container}}",
"category": "Docker",
"description": "Restart container",
"variables": ["container"]
}
]
}
Import Snippets
Import from File:
1. Click "Import" button
2. Select .json file
3. Preview snippets
4. Handle conflicts:
- Skip existing
- Overwrite
- Keep both
5. Complete import
Merge Strategy:
┌────────────────────────────────────────┐
│ Import Conflicts Found │
├────────────────────────────────────────┤
│ 3 snippets already exist: │
│ │
│ ● Docker Restart │
│ [Skip] [Overwrite] [Keep Both] │
│ │
│ ● Git Pull Rebase │
│ [Skip] [Overwrite] [Keep Both] │
│ │
│ ● MySQL Backup │
│ [Skip] [Overwrite] [Keep Both] │
│ │
│ Apply to all: [Skip] [Overwrite] [Both]│
└────────────────────────────────────────┘
Import from URL:
1. Click "Import from URL"
2. Paste snippet collection URL
3. Preview and import
Share Snippets
Share Single Snippet:
1. Right-click snippet
2. Select "Share"
3. Choose method:
- Copy to clipboard
- Generate share link
- Export as file
- Send to email
Share with Team:
1. Export category/collection
2. Upload to shared location
3. Team members import
4. Everyone uses same snippets
Snippet Statistics
Usage Tracking
View Stats:
Snippet: Docker Restart
├─ Total Uses: 47
├─ Last Used: 2 hours ago
├─ Created: Jan 15, 2024
├─ Modified: Feb 1, 2024
└─ Success Rate: 98%
Sort by Usage:
1. Sort dropdown
2. Select "Most Used"
3. See your top snippets
Usage Insights:
📊 Your Top Snippets:
1. Docker Restart (47 uses)
2. Git Pull & Rebase (35 uses)
3. npm Build (28 uses)
4. MySQL Backup (22 uses)
5. Server Health Check (18 uses)
Analytics
Weekly Report:
This Week:
- 127 snippet executions
- 15 new snippets created
- 8 snippets modified
- Top category: Docker (45%)
Advanced Features
Snippet Variables
Detailed coverage in Variables Guide
Quick Reference:
# Simple variable
docker restart {{container}}
# Multiple variables
scp {{file}} {{user}}@{{host}}:{{path}}
# With defaults
git checkout {{branch=main}}
Conditional Execution
Add Prompts:
#!/bin/bash
echo "This will delete production data!"
read -p "Type 'yes' to confirm: " confirm
if [ "$confirm" != "yes" ]; then
echo "Cancelled"
exit 1
fi
# Proceed with command...
Error Handling
Check Command Success:
docker restart {{container}}
if [ $? -eq 0 ]; then
echo "✓ Container restarted successfully"
else
echo "✗ Failed to restart container"
exit 1
fi
Try-Catch Pattern:
{
cd {{project_path}} &&
git pull origin {{branch}} &&
npm install &&
npm run build
} || {
echo "Build failed!"
exit 1
}
Environment Variables
Use System Variables:
# Current user
ssh $USER@{{host}}
# Home directory
cd $HOME/{{project}}
# Path
export PATH=$PATH:{{custom_path}}
Tips & Best Practices
1. Name Consistently
Use Pattern:
[Category]: [Action] [Target]
Examples:
Docker: Container Restart
Git: Branch Create
Database: Backup MySQL
Server: Update Packages
2. Add Rich Descriptions
Template:
What: [Brief explanation]
When: [Use cases]
Requirements: [Prerequisites]
Output: [Expected result]
Notes: [Important info]
Example:
What: Creates full MySQL database backup
When: Before major updates, daily backups, migration
Requirements: mysqldump installed, credentials configured
Output: Compressed .sql.gz file in /backups
Notes: Runs in background, ~5 min for 10GB database
3. Test Before Saving
1. Write command
2. Test manually in terminal
3. Verify it works
4. Save as snippet
5. Test snippet execution
6. Update if needed
4. Use Categories Effectively
Organize by:
- Purpose (Deployment, Backup, Monitoring)
- Technology (Docker, Git, Database)
- Frequency (Daily, Weekly, Emergency)
- Environment (Dev, Staging, Production)
5. Regular Maintenance
Monthly Review:
□ Delete unused snippets
□ Update outdated commands
□ Consolidate duplicates
□ Add new common commands
□ Update descriptions
□ Re-categorize if needed
6. Backup Regularly
1. Export all snippets monthly
2. Save to cloud storage
3. Version the export file
4. Keep 3 months history
7. Share with Team
Build Team Library:
1. Create shared categories
2. Document standards
3. Regular sync meetings
4. Collect feedback
5. Iterate and improve
Troubleshooting
Snippet Won't Save
Issue: Create button disabled
Solutions:
- Ensure name is filled
- Ensure command is filled
- Check for invalid characters
- Verify variable syntax
Variables Not Detected
Issue: Variables don't show up
Cause: Wrong syntax
Fix:
✗ {container} - Single braces
✗ {{container - Missing closing
✗ {{container name}} - Space in name
✓ {{container_name}} - Correct!
Execution Fails
Issue: Snippet fails when executed
Check:
- Variable values are correct
- Paths exist
- Permissions are sufficient
- Dependencies installed
- Network connectivity
Debug:
1. Copy command
2. Paste in terminal
3. Run manually
4. Check error message
5. Fix issue
6. Update snippet
Import Errors
Issue: Import fails or incomplete
Solutions:
- Verify JSON format
- Check file encoding (UTF-8)
- Ensure valid syntax
- Update app to latest version
- Try importing fewer snippets
Next Steps
- 🔤 Using Variables - Dynamic templates
- 📁 Categories & Organization - Advanced organization
- 💡 Examples Library - Ready-to-use snippets
- ⌨️ Keyboard Shortcuts - Work faster