Code Editor
JEditor’s core is a powerful multi-tab code editor built on top of Qt’s QPlainTextEdit, designed
for speed, flexibility, and a smooth development experience.
Multi-Tab Editing
Work on multiple files simultaneously using the tab-based interface:
Open multiple files in separate tabs
Switch between tabs by clicking
Close tabs individually
Drag and drop files from the file system into the editor
The current file path and tab state are tracked automatically
File Operations
Action |
Description |
|---|---|
New File ( |
Create a new empty file |
Open File ( |
Open an existing file and load it into a tab |
Open Folder ( |
Open a project folder and display it in the file tree |
Save File ( |
Save the current tab’s content to disk |
Recent Files
JEditor keeps a list of recently opened files for quick access, available from the File menu.
Auto-Save
JEditor includes an automatic save feature that periodically saves your work:
Runs in a background thread per open file
Configurable save interval
Detects external file changes and handles conflicts
Tracks file modification state
Syntax Highlighting
JEditor provides built-in Python syntax highlighting and supports additional languages through plugins.
Built-in Python Highlighting includes:
Keywords (
if,else,for,while,def,class, etc.)Built-in functions (
print,len,range, etc.)Strings (single-line and multi-line)
Comments
Decorators
Numbers
Customizable colors via the color settings
Plugin-based Language Support:
Additional languages can be added through the plugin system. Pre-built plugins are available for:
C (
.c)C++ (
.cpp,.cxx,.cc,.h,.hpp,.hxx)Go (
.go)Java (
.java)Rust (
.rs)
See Plugin System for details on creating language plugins.
Auto-Completion
JEditor integrates Jedi for intelligent Python code completion:
Context-aware suggestions based on the current code
Supports virtual environment (venv) for accurate package completions
Runs in a background thread so the UI stays responsive
Configurable case-sensitivity and completion behavior
Line Numbers
The editor displays line numbers in a dedicated gutter on the left side:
Line numbers update dynamically as the document changes
Customizable colors for line number text and background
Current line number is highlighted for easy reference
Current Line Highlight
The line where the cursor is currently positioned is highlighted with a distinct background color, making it easy to identify your editing position. The highlight color is customizable through the color settings.
File Tree
When you open a folder (Ctrl+K), JEditor displays a file tree on the left side:
Browse the full directory structure of your project
Click on any file to open it in a new editor tab
Supports expanding and collapsing directories
Scrollable navigation for large projects
Encoding Support
JEditor supports multiple file encodings:
UTF-8 (default)
GBK
Latin-1
Automatic encoding detection when opening files
Per-file encoding selection from the File > Encoding menu
Encoding is preserved when saving files
Search & Replace
JEditor provides powerful search and replace functionality:
File Search:
Search within the current file
Case-sensitive and case-insensitive options
Regular expression (regex) support
Project-Wide Search:
Search across all files in an opened folder
Results displayed in a table with file path and line number
Click on a result to navigate directly to the match
Runs in a background thread for large codebases
Replace:
Replace single occurrences or all matches at once
Supports the same options as search (case, regex)