๐ Build Your English Learning Loop in VS Code
Select to Learn ยท Flashcard Review ยท SM-2 Spaced Repetition ยท Never Lose Data
Installation โข Quick Start โข Configuration โข MCP Server โข Commands
English | ไธญๆ
- ๐ฏ Seamless Integration - Add any word/phrase to flashcards with a single click while coding
- ๐ Scientific Review - SM-2 spaced repetition algorithm for efficient memorization
- ๐ Visual Dashboard - Heatmap, donut charts, and progress tracking
- ๐ Text-to-Speech - Multiple TTS engines for pronunciation practice
- ๐พ Data Safety - Local JSONL storage with event sourcing, export/import support
- ๐ค AI Integration - MCP Server for Claude Desktop and other AI assistants
- Open VS Code
- Press
Ctrl+Shift+X(Windows/Linux) orCmd+Shift+X(macOS) - Search for "WordSlash"
- Click Install
- Download the
.vsixfile from GitHub Releases - Open VS Code
- Press
Ctrl+Shift+P/Cmd+Shift+P - Type "Install from VSIX" and select the downloaded file
git clone https://github.com/talkincode/wordslash.git
cd wordslash
npm install
npm run compile
# Press F5 in VS Code to launch Extension Development Host- Select any word or phrase in the editor
- Right-click and choose "Add to WordSlash"
- The card is created with context from the current line
๐ก If nothing is selected, the word under cursor is automatically extracted
- Click the WordSlash icon in the Activity Bar (sidebar)
- Or press
Ctrl+Shift+P/Cmd+Shift+Pโ "WordSlash: Open Flashcards"
| Button | Meaning | Effect |
|---|---|---|
| Again | Don't remember | Flip to back, reset interval |
| Hard | Barely remember | Flip to back, short interval |
| Good | Remember | Next card, normal interval |
| Easy | Very familiar | Next card, extended interval |
| Reveal | Want to see back | Flip (not scored) |
Open VS Code Settings (Ctrl+, / Cmd+,) and search for wordslash:
| Setting | Type | Default | Description |
|---|---|---|---|
wordslash.newCardsPerDay |
number | 20 |
Maximum new cards per day |
wordslash.privacy.storeFilePath |
boolean | false |
Store source file path in cards |
| Setting | Type | Default | Description |
|---|---|---|---|
wordslash.tts.engine |
string | youdao |
TTS engine: youdao, google, browser, azure, openai |
wordslash.tts.rate |
number | 1.0 |
Speech rate (0.5-2.0) |
wordslash.tts.autoPlay |
boolean | true |
Auto-play pronunciation on card appear |
wordslash.tts.azureKey |
string | - | Azure Speech API key (for azure engine) |
wordslash.tts.azureRegion |
string | eastus |
Azure region |
wordslash.tts.openaiKey |
string | - | OpenAI API key (for openai engine) |
| Engine | Quality | Offline | API Key Required |
|---|---|---|---|
| Youdao | โญโญโญโญ | โ | No |
| โญโญโญ | โ | No | |
| Browser | โญโญ | โ | No |
| Azure | โญโญโญโญโญ | โ | Yes |
| OpenAI | โญโญโญโญโญ | โ | Yes |
Press Ctrl+Shift+P / Cmd+Shift+P to open the Command Palette:
| Command | Description |
|---|---|
WordSlash: Open Dashboard |
Open the full dashboard with charts and statistics |
WordSlash: Open Flashcards |
Open the flashcard review interface |
WordSlash: Add Card from Selection |
Create a card from selected text |
WordSlash: Export Backup |
Export all data to a backup file |
WordSlash: Import Backup |
Import data from a backup file |
WordSlash: Import Cards from JSON |
Bulk import cards from JSON file |
WordSlash: Export JSON Template |
Export a template for bulk import |
WordSlash: Open Settings |
Open WordSlash settings |
Data is stored in VS Code's globalStorage:
- macOS:
~/Library/Application Support/Code/User/globalStorage/wordslash.wordslash/ - Windows:
%APPDATA%/Code/User/globalStorage/wordslash.wordslash/ - Linux:
~/.config/Code/User/globalStorage/wordslash.wordslash/
| File | Description |
|---|---|
cards.jsonl |
Vocabulary cards (append-only) |
events.jsonl |
Review events (immutable history) |
index.json |
Rebuildable cache |
# Export backup
Ctrl+Shift+P โ WordSlash: Export Backup โ Choose directory
# Import backup
Ctrl+Shift+P โ WordSlash: Import Backup โ Select backup file๐ก Import is idempotent - same backup imported twice won't create duplicates
WordSlash includes an MCP (Model Context Protocol) Server that allows AI assistants like Claude Desktop, VS Code Copilot, and other MCP-compatible clients to manage your vocabulary cards through natural language.
MCP (Model Context Protocol) is an open protocol that enables AI assistants to interact with external tools and data sources. With WordSlash MCP Server, you can:
- ๐ Add vocabulary cards by simply chatting with AI
- ๐ Search and browse your word collection
- โ๏ธ Update cards with synonyms, antonyms, examples
- ๐ View statistics and learning progress
- ๐ธ๏ธ Explore relationships between words
The easiest way to use WordSlash MCP - no installation required!
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"wordslash": {
"command": "npx",
"args": ["-y", "wordslash-mcp"]
}
}
}{
"mcpServers": {
"wordslash": {
"command": "npx",
"args": ["-y", "wordslash-mcp"],
"env": {
"WORDSLASH_STORAGE_PATH": "/path/to/your/wordslash/data"
}
}
}
}๐ก Tip: To share data with VS Code extension, set
WORDSLASH_STORAGE_PATHto:
- macOS:
~/Library/Application Support/Code/User/globalStorage/wordslash.wordslash- Windows:
%APPDATA%/Code/User/globalStorage/wordslash.wordslash- Linux:
~/.config/Code/User/globalStorage/wordslash.wordslash
For VS Code with GitHub Copilot Chat or Continue extension, add to your MCP settings:
{
"mcpServers": [
{
"name": "wordslash",
"command": "npx",
"args": ["-y", "wordslash-mcp"]
}
]
}| Tool | Description |
|---|---|
create_card |
Create a vocabulary card with term, translation, phonetic, examples, synonyms, antonyms, tags |
list_cards |
List all cards with optional search term or tag filter |
get_card |
Get a single card by ID or term |
update_card |
Update card fields (translation, examples, synonyms, etc.) |
delete_card |
Soft delete a card |
delete_cards_batch |
Batch delete by IDs, search term, or tag |
list_events |
View review history (learning events) |
get_index |
Get index status (total cards, due cards, new cards) |
get_dashboard_stats |
Get comprehensive statistics (retention rate, streak, etc.) |
generate_knowledge_graph |
Generate vocabulary relationship graph |
You: Add "ephemeral" - it means "็ญๆ็", example: "Fame is ephemeral."
Claude: I'll create a vocabulary card for "ephemeral".
โ Created card:
- Term: ephemeral
- Translation: ็ญๆ็
- Example: Fame is ephemeral.
You: Add "ubiquitous" with:
- Translation: ๆ ๅคไธๅจ็
- Phonetic: /juหหbษชk.wษช.tษs/
- Example: "Smartphones have become ubiquitous."
- Synonyms: omnipresent, pervasive
- Tags: GRE, tech
Claude: โ Created card for "ubiquitous" with all details!
You: Show me all my GRE words
Claude: Found 15 cards with tag "GRE":
1. ephemeral - ็ญๆ็
2. ubiquitous - ๆ ๅคไธๅจ็
3. pragmatic - ๅกๅฎ็
...
You: Add synonyms "fleeting, transient" to ephemeral
Claude: โ Updated "ephemeral" with new synonyms!
You: How's my vocabulary learning going?
Claude: Here's your learning stats:
๐ Total Cards: 156
๐
Due Today: 12
๐ฅ Streak: 7 days
๐ฏ Retention Rate: 85%
โ
Mastered: 45 cards
| Variable | Description | Default |
|---|---|---|
WORDSLASH_STORAGE_PATH |
Custom storage directory | ~/.wordslash (standalone) or VS Code globalStorage |
WordSlash uses the classic SM-2 spaced repetition algorithm:
| Rating | Quality | Interval Effect |
|---|---|---|
| Again | q=0 | Reset to 1 day, increment lapses |
| Hard | q=3 | Short interval |
| Good | q=4 | Normal interval |
| Easy | q=5 | Extended interval |
The algorithm dynamically adjusts review intervals based on your performance, optimizing long-term retention.
# Clone repository
git clone https://github.com/talkincode/wordslash.git
cd wordslash
# Install dependencies
npm install
# Compile
npm run compile
# Run tests
npm test
# Watch mode
npm run watch
# Debug in VS Code
# Press F5 to launch Extension Development Hostwordslash/
โโโ src/
โ โโโ extension.ts # Extension entry point
โ โโโ commands/ # VS Code commands
โ โโโ storage/ # JSONL storage, indexer, schema
โ โโโ srs/ # SM-2 algorithm, scheduler
โ โโโ webview/ # Dashboard, Flashcards UI
โโโ scripts/
โ โโโ mcp-server/ # MCP Server for AI integration
โโโ media/ # Icons and assets
โโโ package.json
- v0.1 - Core loop: commands, storage, flashcards, SM-2
- v0.2 - Dashboard, heatmap, charts, MCP server
- v0.3 - Experience: keyboard shortcuts, batch operations
- v0.4 - AI: LLM-powered card content generation
MIT License - see LICENSE for details.
Issues and Pull Requests are welcome!
Made with โค๏ธ for learners who code