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 | ||
Quick CodeBlock / 代码块快捷插入
快捷插入 Markdown 代码块,光标自动定位到块内。支持自定义语言、选中文本一键包裹、快捷键配置与冲突检测。
替代 Templater 的代码块模板,无需 Templater 依赖。
功能特性
- 快捷插入代码块:插入
```lang代码块,光标自动定位到块内空行,直接开始写代码 - 选中文本包裹:选中一段文字,触发命令,自动用代码块包裹
- 自定义语言列表:默认含 python / javascript / bash / shell / sql / json / yaml / go / rust / java / html / css,可自行增删
- 语言选择弹窗:不想记快捷键?用「选择语言」命令弹出列表点选
- 快捷键自定义:在插件设置面板里直接为需要的语言配置快捷键,无需去系统设置里翻
- 快捷键冲突检测:设置快捷键时即时检测是否与其他命令冲突,冲突显示警告并提供跳转入口
- 智能换行:光标前后有内容时自动处理换行,不会粘连到已有文字
安装
方式一:社区插件(审核通过后)
Obsidian → 设置 → 第三方插件 → 社区插件 → 搜索「Quick CodeBlock」→ 安装
方式二:手动安装
- 下载最新 Release 的
main.js、manifest.json、styles.css - 在 Obsidian 仓库下创建
.obsidian/plugins/quick-codeblock/目录 - 将 3 个文件放入该目录
- Obsidian → 设置 → 第三方插件 → 关闭安全模式 → 找到「代码块快捷插入」→ 开启
使用方法
插入代码块
Ctrl+P打开命令面板,搜索「插入代码块」- 选择对应语言的命令(如「插入代码块(python)」)
- 无选中文本时:插入空代码块,光标自动定位到块内
- 有选中文本时:用
```lang包裹选中的内容
配置快捷键
- 打开插件设置(设置 → 第三方插件 → 代码块快捷插入 → 选项)
- 在「快捷键设置」区域,默认有一项(python)
- 点击「+ 添加快捷键配置」增加新项
- 每项可选择语言(dropdown)+ 设置快捷键 + 删除
- 点击快捷键输入框,按下组合键即可设置;按
Backspace或Esc清除 - 设置后自动检测冲突,有冲突会显示红色警告和「前往修改」链接
替代 Templater
如果你之前用 Templater 的代码块模板(如 codepython.md),本插件完全覆盖该功能:
| Templater | 本插件 | |
|---|---|---|
| 依赖 | 需要 Templater 插件 | 无依赖 |
| 插入 ```python + 光标定位 | tp.file.cursor() |
自动计算行号定位 |
| 多语言 | 要写多个模板 | 一个插件搞定 |
| 选中文本包裹 | 不支持 | 支持 |
| 快捷键管理 | 不支持 | 内置配置 + 冲突检测 |
设置说明
| 设置项 | 说明 |
|---|---|
| 默认语言 | 主命令「插入代码块」使用的语言 |
| 语言列表 | 每行一个,为每个语言注册独立命令 |
| 保留选中内容缩进 | 选中文本包裹时是否保留原有缩进 |
| 快捷键设置 | 为需要的语言配置快捷键(默认一项,可自行添加) |
命令列表
| 命令 | 作用 |
|---|---|
| 插入代码块(python) | 主命令,用默认语言 |
| 插入代码块(选择语言) | 弹出列表选择语言 |
| 插入代码块(javascript) | 每个预设语言各一个命令 |
| ... | 语言列表里的每个语言都会注册 |
技术说明
- 纯 JavaScript 实现(
main.js),无需编译,直接可用 main.ts为 TypeScript 源码参考,供二次开发使用- 快捷键通过
hotkeyManager.setHotkeys绑定,与 Obsidian 系统快捷键互通 - 卸载插件时自动清除快捷键绑定,保持
hotkeys.json干净
许可证
作者
旭说云原生