GhostReader
English | 简体中文
Features
- Status bar reading — Read
.txt files directly in the VS Code status bar
- Keyboard navigation —
Ctrl+Left / Ctrl+Right on Windows, Cmd+Left / Cmd+Right on macOS
- Library management — Import, delete, and organize your text files
- Reading / Coding modes — Switch modes to avoid shortcut conflicts while coding
- Progress — Reading position is saved automatically
- Jump to page — Go to a specific page from the status bar
- Clean UI — Minimal interface that stays out of your way
- Settings — Configure visible lines and auto-hide delay
- Auto stop — Optionally hide reading content after idle time
Quick start
Install
- Open VS Code
- Press
Ctrl+P / Cmd+P, run ext install wllzhang.GhostReader
- Or search for GhostReader in the Extensions view

Usage
- Open the Ghost READER icon in the activity bar
- Click + to import a
.txt file
- Click a book to switch to Reading mode and start reading
- Use
Ctrl+Left / Ctrl+Right (Mac: Cmd+Left / Cmd+Right) to turn pages
- Click Coding in the status bar to stop reading and hide content
Note: Reading mode starts reading and shows content; Coding mode stops reading.
Details
UI preview

Shortcuts
| Action |
Windows |
Mac |
| Previous |
Ctrl+Left |
Cmd+Left |
| Next |
Ctrl+Right |
Cmd+Right |
Important: Shortcuts work only in Reading mode.

Modes

- Reading mode — Enables reading shortcuts, shows content
- Coding mode — Disables reading shortcuts, hides content
Changing mode controls both reading state and shortcuts; there is no separate start/stop control.
Common tasks
| Task |
How |
| Import |
Click + in the sidebar |
| Delete |
Right-click an item in the reading list |
| Jump |
Use the jump control in the status bar |
| Switch mode |
Click Reading / Coding in the status bar |
Settings
Search for GhostReader in VS Code Settings:

| Setting |
Description |
Default |
Range |
ghostReader.displayLines |
Lines shown in the status bar |
1 |
1–10 |
ghostReader.displayWidth |
Max characters per “page” in bar |
45 |
10–200 |
ghostReader.autoStopDelay |
Auto-hide after idle (seconds) |
0 |
0 = disabled |
Paging: If a line exceeds displayWidth, it is split into virtual pages; next/prev moves within the line before the next line.
Example: autoStopDelay set to 30 hides reading content after 30 seconds of no navigation.
Only .txt files are supported. UTF-8 is recommended.
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.
Docs and support
License
MIT License
If this project helps you, consider giving it a star ⭐
Turn VS Code into your reading space 👻📖
| |