mirror of
https://github.com/xcloud-ai/quick-codeblock.git
synced 2026-07-22 08:32:36 +00:00
No description
| .gitignore | ||
| LICENSE | ||
| main.js | ||
| main.ts | ||
| manifest.json | ||
| README.md | ||
| styles.css | ||
代码块快捷插入
快捷插入 Markdown 代码块,光标自动定位到块内。支持自定义语言、选中文本一键包裹、快捷键配置与冲突检测,替代 Templater 的代码块模板,无需 Templater 依赖。
English description below for review purposes. / 以下为英文说明,用于过审。
Quickly insert Markdown code blocks with automatic cursor positioning. Supports custom languages, selected text wrapping, hotkey configuration and conflict detection. Replaces Templater code block templates without dependency.
功能特性
- 快捷插入代码块:插入
```lang代码块,光标自动定位到块内空行,直接开始写代码 - 选中文本包裹:选中一段文字,触发命令,自动用代码块包裹
- 自定义语言列表:默认含 python / javascript / bash / shell / sql / json / yaml / go / rust / java / html / css,可自行增删
- 语言选择弹窗:不想记快捷键?用「选择语言」命令弹出列表点选
- 快捷键自定义:在插件设置面板里直接为需要的语言配置快捷键,无需去系统设置里翻
- 快捷键冲突检测:设置快捷键时即时检测是否与其他命令冲突,冲突显示警告并提供跳转入口
- 智能换行:光标前后有内容时自动处理换行,不会粘连到已有文字
Features
- Quick code block insertion with auto cursor positioning
- Selected text wrapping with code block
- Custom language list (default: python, javascript, bash, shell, sql, json, yaml, go, rust, java, html, css)
- Language picker modal for easy selection
- Custom hotkey configuration in plugin settings
- Hotkey conflict detection with jump-to-settings link
- Smart line break handling
安装
方式一:从 Obsidian 社区目录安装(推荐)
- 打开 Obsidian 设置 → 社区插件
- 点击"浏览",搜索 "XU Quick CodeBlock"
- 点击"安装",然后"启用"
方式二:手动安装
- 从 最新 Release 下载
main.js、manifest.json、styles.css三个文件 - 在 vault 中创建目录
.obsidian/plugins/quick-codeblock/ - 将三个文件放入该目录
- 打开 Obsidian 设置 → 社区插件,找到 "XU Quick CodeBlock" 并开启
Installation
From Obsidian Community Directory:
- Open Obsidian Settings → Community Plugins
- Click "Browse" and search for "XU Quick CodeBlock"
- Click "Install", then "Enable"
Manual Installation:
- Download
main.js,manifest.json,styles.cssfrom the latest release - Put them in
<vault>/.obsidian/plugins/quick-codeblock/ - Enable in Settings → Community Plugins
使用方法
插入代码块
Ctrl+P打开命令面板,搜索「插入代码块」- 选择对应语言的命令(如「插入代码块(python)」)
- 无选中文本时:插入空代码块,光标自动定位到块内
- 有选中文本时:用
```lang包裹选中的内容
配置快捷键
- 打开插件设置(设置 → 社区插件 → XU Quick CodeBlock → 选项)
- 在「快捷键设置」区域,默认有一项(python)
- 点击「+ 添加快捷键配置」增加新项
- 每项可选择语言(dropdown)+ 设置快捷键 + 删除
- 点击快捷键输入框,按下组合键即可设置;按
Backspace或Esc清除 - 设置后自动检测冲突,有冲突会显示红色警告和「前往修改」链接
Usage
- Press
Ctrl+Pto open command palette, search for "Insert code block" - Select the language command (e.g. "Insert code block (python)")
- Without selection: inserts empty code block with cursor inside
- With selection: wraps selected text with
```lang
Hotkey Configuration
- Open plugin settings (Settings → Community Plugins → XU Quick CodeBlock → Options)
- Default has one item (python), click "+ Add" to add more
- Each item: select language (dropdown) + set hotkey + delete
- Click hotkey input, press key combination to set; press
BackspaceorEscto clear - Auto conflict detection with red warning and "Go to settings" link
替代 Templater
如果你之前用 Templater 的代码块模板(如 codepython.md),本插件完全覆盖该功能:
| Templater | 本插件 | |
|---|---|---|
| 依赖 | 需要 Templater 插件 | 无依赖 |
| 插入 ```python + 光标定位 | tp.file.cursor() |
自动计算行号定位 |
| 多语言 | 要写多个模板 | 一个插件搞定 |
| 选中文本包裹 | 不支持 | 支持 |
| 快捷键管理 | 不支持 | 内置配置 + 冲突检测 |
设置说明
| 设置项 | 说明 |
|---|---|
| 默认语言 | 主命令「插入代码块」使用的语言 |
| 语言列表 | 每行一个,为每个语言注册独立命令 |
| 保留选中内容缩进 | 选中文本包裹时是否保留原有缩进 |
| 快捷键设置 | 为需要的语言配置快捷键(默认一项,可自行添加) |
命令列表
| 命令 | 作用 |
|---|---|
| 插入代码块(python) | 主命令,用默认语言 |
| 插入代码块(选择语言) | 弹出列表选择语言 |
| 插入代码块(javascript) | 每个预设语言各一个命令 |
| ... | 语言列表里的每个语言都会注册 |
技术说明
- 纯 JavaScript 实现(
main.js),无需编译,直接可用 main.ts为 TypeScript 源码参考,供二次开发使用- 快捷键通过
hotkeyManager.setHotkeys绑定,与 Obsidian 系统快捷键互通 - 卸载插件时自动清除快捷键绑定,保持
hotkeys.json干净
许可证
MIT License - Copyright (c) 2026 旭说云原生