Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>DSA ReminderNew to Visual Studio Code? Get it now.
DSA Reminder

DSA Reminder

rishabhDLuffy

|
11 installs
| (0) | Free
Quick access to coding platforms with motivational reminders
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🚀 DSA Reminder

A comprehensive VS Code extension designed for DSA enthusiasts with user-friendly reminder setup and quick platform access.

✨ Key Features

🎯 User-Friendly Reminder Setup

  • Simple Options: Choose between "Daily" or "Weekly"
  • Visual Time Picker: Select from common times or enter custom time
  • Weekday Selection: Easy weekday picker for weekly reminders
  • Smart Conversion: Automatically converts to cron expressions
  • Confirmation Dialog: Review settings before creating

🌐 Platform Integration

  • One-click access to coding platforms through Activity Bar
  • Native VS Code tree view with platform descriptions
  • Configurable platform list
  • Theme-aware icons

⏰ Advanced Reminder System

  • node-cron for robust scheduling
  • Snooze functionality (15min, 1hr)
  • Visual status indicators (enabled/disabled)
  • Motivational messages with emojis
  • Last triggered tracking

⚙️ Quick Settings Panel

  • Direct settings access from within the extension
  • Real-time stats (platforms, reminders, active jobs)
  • Reset to defaults with confirmation
  • Help and documentation links

📦 Installation

Method 1: Build and Install

# Clone or create the extension folder
mkdir dsa-reminder
cd dsa-reminder

# Copy all the files into the proper structure:
# src/extension.ts
# src/types.ts  
# src/utils/cronConverter.ts
# src/utils/reminderManager.ts
# src/utils/reminderDialog.ts
# src/providers/DSAPanelProvider.ts
# src/providers/ReminderTreeProvider.ts
# src/providers/SettingsProvider.ts
# package.json
# tsconfig.json

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Package extension (install vsce if needed)
npm install -g vsce
vsce package

# Install in VS Code
code --install-extension dsa-reminder-1.0.0.vsix

Method 2: Development Mode

# Open in VS Code
code dsa-reminder

# Press F5 to launch Extension Development Host

🎮 Usage Guide

📝 Creating Reminders (User-Friendly Process)

  1. Open DSA Reminder: Click DSA Reminder icon in Activity Bar or status bar

  2. Add Reminder: Click + button in "Practice Reminders" section

  3. Follow the guided setup:

    Step 1: Enter reminder name

    📝 Enter a name for your reminder
    Example: "Daily coding practice"
    

    Step 2: Choose frequency

    🔄 How often should this reminder trigger?
    📅 Daily - Reminder every day at the same time
    📆 Weekly - Reminder on a specific day of the week  
    

    Step 3: Select weekday (if weekly)

    📅 Which day of the week?
    📅 Monday, Tuesday, Wednesday, etc.
    

    Step 4: Pick time

    🕐 What time should the reminder trigger?
    🕐 6:00 AM, 7:00 AM, 8:00 AM, 9:00 AM
    🕐 12:00 PM, 1:00 PM, 5:00 PM, 6:00 PM  
    🕐 7:00 PM, 8:00 PM, 9:00 PM, 10:00 PM
    ⏰ Custom time... (HH:MM format)
    

    Step 5: Confirm creation

    ✅ Create this reminder?
    📝 Name: Daily coding practice
    🔄 Frequency: Daily  
    🕐 Time: 7:00 PM
    📋 Summary: Daily at 7:00 PM
    

🎯 Managing Reminders

  • Toggle: Click reminder in tree view to enable/disable
  • Remove: Right-click → Remove or use trash icon
  • Status: Green clock/calendar = active, Gray circle = disabled
  • Refresh: Click refresh icon to reload all reminders

🌐 Platform Access

  1. Open DSA Reminder from Activity Bar
  2. Navigate to "Coding Platforms" section
  3. Click any platform to open in browser

⚙️ Quick Settings

  1. Navigate to "Quick Settings" section in DSA Reminder panel
  2. Direct Settings Access: Click "Open Settings" to configure
  3. Extension Info: View current stats and status
  4. Reset Settings: Restore defaults with confirmation
  5. Help & Docs: Access documentation and support

📋 Supported Platforms

  • 🟠 LeetCode - Algorithm and data structure problems
  • 🔵 Codeforces - DSA programming contests
  • 🟤 CodeChef - Programming competitions and practice
  • 🟢 AtCoder - Japanese DSA programming
  • 🟢 HackerRank - Coding challenges and interview prep
  • 🔴 TopCoder - Algorithm competitions and SRMs

⚙️ Configuration Examples

Custom Platforms

{
    "dsa.platforms": [
        {
            "name": "Project Euler",
            "url": "https://projecteuler.net",
            "icon": "link-external", 
            "description": "Mathematical programming challenges"
        }
    ]
}

Custom Messages

{
    "dsa.motivationalMessages": [
        "🔥 Time to code like a champion! 💪⚡",
        "🚀 Every line of code makes you stronger! 💻✨"
    ]
}

🛠️ Technical Details

File Structure

src/
├── extension.ts                    # Main extension entry
├── types.ts                       # TypeScript interfaces & constants
├── providers/  
│   ├── DSAPanelProvider.ts         # Platform tree provider
│   ├── ReminderTreeProvider.ts     # Reminder tree provider
│   └── SettingsProvider.ts        # Settings tree provider
├── utils/
│   ├── cronConverter.ts           # Config → Cron conversion
│   ├── reminderManager.ts         # Reminder scheduling logic
│   └── reminderDialog.ts          # User-friendly dialog flows

Cron Conversion Examples

// Daily at 7:00 PM → "0 19 * * *"  
// Weekly Monday at 9:00 AM → "0 9 * * 1"
// Daily at 6:30 AM → "30 6 * * *"

Dependencies

  • node-cron: Robust cron job scheduling (v4.2.0)
  • @types/vscode: VS Code API types
  • typescript: TypeScript compiler

🎯 VS Code Native Components Used

  • ✅ TreeDataProvider - Platform, reminder, and settings views
  • ✅ StatusBarItem - Bottom status bar integration
  • ✅ QuickPick - User-friendly selection dialogs
  • ✅ InputBox - Text input with validation
  • ✅ ThemeIcon - Icons that adapt to themes
  • ✅ Commands - Command palette integration
  • ✅ Configuration - Native settings integration
  • ✅ Context Menus - Right-click actions
  • ✅ External URI - Safe link opening

📱 User Experience Features

🎨 Visual Indicators

  • Green clock icon = Daily reminder active
  • Green calendar icon = Weekly reminder active
  • Gray circle icon = Reminder disabled
  • Last triggered info in reminder description

🔔 Smart Notifications

  • Multiple actions: Open Panel, Snooze 15min, Snooze 1hr, Dismiss
  • Snooze functionality with automatic re-notification
  • Motivational messages with emojis
  • Modal confirmations for important actions

⚡ Keyboard Shortcuts

  • Ctrl+Shift+P → Search "DSA Reminder" commands
  • Activity Bar → Click DSA Reminder icon
  • Status Bar → Click "DSA Reminder"

🐛 Troubleshooting

Reminders Not Working

  1. ✅ Check if reminder is enabled (green icon)
  2. 🔄 Use "Refresh Reminders" command in Quick Settings
  3. 🔍 Check Developer Console for errors (Help > Toggle Developer Tools)
  4. ⚙️ Verify time format is correct (HH:MM)

Platform Links Not Opening

  1. 🌐 Ensure default browser is set
  2. 🔗 Check external link permissions in VS Code
  3. ⚙️ Verify platform URLs in settings

Extension Not Loading

  1. 📦 Check if extension is enabled in Extensions panel
  2. 🔄 Reload VS Code window (Ctrl+Shift+P → "Reload Window")
  3. 🔍 Check if there are conflicting extensions
  4. 📋 View Output panel (View > Output) and select "DSA Reminder"

Settings Not Saving

  1. ⚙️ Check VS Code settings permissions
  2. 🔄 Try restarting VS Code
  3. 📁 Verify settings.json file permissions

🚀 Advanced Usage

Custom Cron Expressions

For power users, you can manually edit the dsa.reminders setting:

{
    "dsa.reminders": [
        {
            "id": "custom-1",
            "name": "Weekend coding session",
            "frequency": "weekly",
            "time": "10:00",
            "weekday": "6",
            "cronExpression": "0 10 * * 6",
            "enabled": true,
            "created": "2024-01-01T00:00:00.000Z"
        }
    ]
}

Batch Operations

Use Command Palette (Ctrl+Shift+P):

  • DSA Reminder: Add Practice Reminder - Create new reminder
  • DSA Reminder: Refresh Reminders - Reload all reminders
  • DSA Reminder: Open DSA Reminder - Focus extension panel
  • DSA Reminder: Open DSA Reminder Settings - Direct settings access

Multiple Reminders Examples

📝 "Morning warm-up"     → Daily at 8:00 AM
📝 "Lunch break coding"  → Daily at 12:30 PM  
📝 "Evening practice"    → Daily at 7:00 PM
📝 "Weekend deep dive"   → Every Saturday at 10:00 AM
📝 "Weekly review"       → Every Sunday at 6:00 PM

🎓 Best Practices

Reminder Strategy

  1. Start Small: Begin with 1-2 daily reminders
  2. Be Consistent: Same time every day builds habits
  3. Realistic Goals: Don't over-schedule yourself
  4. Review Weekly: Adjust times based on your schedule

Platform Usage

  1. Rotate Platforms: Try different platforms for variety
  2. Track Progress: Use platform-specific progress tracking
  3. Focus Areas: Choose platforms based on your weak areas
  4. Contest Schedule: Keep track of contest times

🤝 Contributing

Development Setup

# Clone repository
git clone <repo-url>
cd dsa-reminder

# Install dependencies
npm install

# Start development
npm run watch

# Test in VS Code
# Press F5 to launch Extension Development Host

Adding New Features

  1. New Platforms: Edit dsa.platforms in package.json
  2. Custom Messages: Add to dsa.motivationalMessages
  3. New Frequencies: Extend types in src/types.ts
  4. UI Improvements: Modify providers in src/providers/

File Modification Guide

  • Platform changes: src/providers/DSAPanelProvider.ts
  • Reminder logic: src/utils/reminderManager.ts
  • User dialogs: src/utils/reminderDialog.ts
  • Cron conversion: src/utils/cronConverter.ts
  • Settings panel: src/providers/SettingsProvider.ts
  • Main extension: src/extension.ts

📄 License

MIT License - Feel free to modify and distribute!

🎯 Roadmap

Upcoming Features

  • 📊 Progress Tracking: Track daily/weekly coding streaks
  • 🏆 Achievements: Unlock badges for consistency
  • 📈 Statistics: Visual charts of coding activity
  • 🔗 Platform Integration: Direct API connections
  • 📱 Mobile Sync: Cross-device reminder sync
  • 🎨 Themes: Custom color schemes

Community Requests

  • ⏰ Multiple Daily Reminders: Support for multiple times per day
  • 📅 Calendar Integration: Sync with Google Calendar
  • 🎯 Goal Setting: Set and track coding goals
  • 🤝 Team Features: Share reminders with coding buddies
  • 📝 Notes: Add notes to reminder notifications

🆘 Support

Getting Help

  1. 📖 Documentation: Read this README thoroughly
  2. 🐛 Issues: Report bugs on GitHub Issues
  3. 💡 Feature Requests: Suggest improvements
  4. 💬 Discussions: Join community discussions

Common Questions

Q: Can I have multiple reminders at the same time?
A: Yes! Create as many daily and weekly reminders as you need.

Q: Can I customize the motivational messages?
A: Yes! Edit the dsa.motivationalMessages setting in VS Code.

Q: Will reminders work when VS Code is closed?
A: No, reminders only work when VS Code is running. This is by design for VS Code extensions.

Q: Can I add custom platforms?
A: Yes! Edit the dsa.platforms setting to add your favorite coding sites.

Q: How do I backup my reminders?
A: Export your VS Code settings which include the dsa.reminders configuration.


🎉 Get Started

  1. Install the extension following the installation guide above
  2. Open the DSA Reminder panel from the Activity Bar
  3. Add your first reminder using the user-friendly dialog
  4. Start coding consistently and watch your skills grow!

Happy Coding! 🚀💻✨


Built with ❤️ for the DSA community

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft