English | 中文
一个使用 Rust + Vue + CodeMirror 构建的类似 Notepad++ 的桌面文本编辑器。
从 Windows 的 Notepad++ 换到 Mac 后,发现没有类似好用的文本编辑器。试过几款替代软件,但都存在功能 bug 且样式不够美观,于是决定自己重写一个。Notepad-rs 旨在为用户提供一个功能完善、界面美观、性能优秀的文本编辑器。
- 🚀 高性能: 基于 Tauri 和 Rust 构建,启动快速,内存占用低
- 📝 多标签页: 支持同时打开多个文件
- 🎨 语法高亮: 支持 30+ 种编程语言的语法高亮
- 🌍 多语言界面: 支持中文和英文两种界面语言
- 🎨 多主题支持: 提供多个精美主题,包括暗色和亮色主题
- ⌨️ Vim 模式: 可选的 Vim 键绑定支持
- 🔍 搜索替换: 强大的搜索和替换功能
- 📏 行号显示: 可切换的行号显示
- 📦 自动换行: 可切换的自动换行
- 🔤 字体缩放: 支持快捷键调整字体大小
JavaScript, TypeScript, Python, Rust, HTML, CSS, JSON, Markdown, XML, SQL, Java, C/C++, PHP, YAML, Go, Ruby, Vue, Shell 等。
在 Linux 系统上构建需要安装以下系统依赖:
Ubuntu/Debian:
sudo apt update
sudo apt install -y \
libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libglib2.0-dev \
libpango1.0-dev \
libatk1.0-dev \
libcairo-gobject2 \
libgdk-pixbuf2.0-dev \
xdg-utilsFedora:
sudo dnf install -y \
webkit2gtk4.1-devel \
openssl-devel \
curl \
wget \
file \
libappindicator \
librsvg2-devel \
glib2-devel \
pango-devel \
atk-devel \
cairo-gobject-devel \
gdk-pixbuf2-devel \
xdg-utilsArch Linux:
sudo pacman -S --needed \
webkit2gtk \
base-devel \
curl \
wget \
file \
openssl \
libappindicator \
librsvg \
glib2 \
pango \
atk \
cairo \
gdk-pixbuf2 \
xdg-utilsmacOS 通常不需要额外安装系统依赖,但确保已安装 Xcode Command Line Tools:
xcode-select --installWindows 上需要安装 Microsoft C++ Build Tools。
# 安装前端依赖
npm install
# 或使用 pnpm
pnpm install# 启动开发服务器
npm run tauri dev# 构建生产版本
npm run tauri build构建完成后,可执行文件将位于 target/release 目录。
当前编译版本: 目前暂时只提供 macOS 和 Ubuntu 系统的编译版本。
系统兼容性: 软件同时支持 Linux 和 Windows 系统,但由于编译资源限制,目前仅提供 macOS 和 Ubuntu 的预编译版本。如果您需要其他系统的版本(如 Windows 或其他 Linux 发行版),欢迎在 Issues 中留言,我会根据需求情况考虑添加相应系统的编译版本。
| 快捷键 | 功能 |
|---|---|
⌘/Ctrl + N |
新建文件 |
⌘/Ctrl + O |
打开文件 |
⌘/Ctrl + S |
保存文件 |
⌘/Ctrl + W |
关闭标签页 |
⌘/Ctrl + F |
查找 |
⌘/Ctrl + H |
替换 |
⌘/Ctrl + + |
放大字体 |
⌘/Ctrl + - |
缩小字体 |
- 后端: Rust + Tauri 2.0
- 前端: Vue 3 + TypeScript
- 编辑器: CodeMirror 6
- 构建工具: Vite
Notepad-rs/
├── src/ # Rust 后端源码
│ ├── main.rs # 主入口
│ └── lib.rs # 库函数
├── src/ # Vue 前端源码 (根目录)
│ ├── main.ts # 前端入口
│ ├── App.vue # 主组件
│ ├── components/ # Vue 组件
│ │ ├── Editor.vue # 编辑器组件
│ │ ├── MenuBar.vue # 菜单栏
│ │ ├── TabBar.vue # 标签栏
│ │ ├── StatusBar.vue # 状态栏
│ │ └── WelcomeScreen.vue
│ ├── stores/ # 状态管理
│ └── styles/ # 样式文件
├── tauri.conf.json # Tauri 配置
├── package.json # npm 配置
└── Cargo.toml # Rust 配置
MIT