- 文档的个人风格化,可配置的正则替换
- 可设置在每行输入结束时自动执行
- 根据文档的语言模式,做不同的处理
- 若文档的大纲视图有内容,可以将它们全部导出来
- 将 VsCode 的一些命令,设置到状态栏
使用
- 命令
进入命令面板 (Ctrl-Shift-P) 后,可键入执行:
- cinfwyx.tools: 对本文档执行风格化
若设置,会在每行输入结束时自动执行
- cinfwyx.tools.regcfg: 打开配置文件,对本程序进行设置
- cinfwyx.tools.export: 导出文档中存在的大纲内容
- 建议自行设置热键以更方便使用
- 状态栏按钮
程序设置了 5 个状态栏按钮,可设置打开或关闭
- VsCode 系统命令:关闭未更改的文档
- VsCode 系统命令:保存当前文档
- VsCode 系统命令:重载界面,以刷新扩展
- CinFwyx: 用此工具风格化本文档
- 显示光标所在处字符的 UniCode 编码
点击时,打开配置文件,对本程序进行设置
- 设置
通过前述的命令或按钮,进入配置文件,一目了然:
- 设置打开 / 关闭状态栏按钮
- 设置程序功能控制项
- 设置语言模式归类
- 按自己的需要,增删修改正则表达式以实现特定功能
- 语言模式与分类处理
- VsCode 为每一种文档类型设定了唯一的语言标识符,称语言模式
大致对应于文件扩展名,VsCode 缺省可用的语言标识符
或命令面板下【Change Language Mode】命令所列
或右下状态栏,点击【选择语言模式】所列
- 程序在配置文件中,将各语言模式归于【A —— Z】类
之后所有的功能,将据此归类做不同的处理
- 这使程序可应用于所有类型的文档
在不同类型文档之间切换不会有任何干扰
可设置正则式针对任何类型的文档做特异性处理
- 实际上,若你愿意,可针对某文档类型,编写一组特异性处理的正则式
它就使本程序成为该类型文档的专门格式化器
- 范围保护
需要保持原样、避免被处理的文字,可设置范围保护
- 一般是某类型文档的字符串、正则式等
- 譬如程序会将全角的字母数字都转为半角字符
但保护范围内,如 'ABC' 会保持原样而不被转换为 'ABC'
- 可随意设置正则式,自定义任何保护范围
个人风格化
- 删除空白行,使:
头部无空白行;中部的连续空白行不超过 1 个、尾部总为 1 个空行的型式
- 所有的全角数字、字母、空格都转为半角
- 部分全角符号:
‘’“”()+-*@{}[]#=|'"&\~
改为了对应的:「」『』()+-*@{}[]#=|'"&\\~
- 缩进标准化
都采用 Tab, 或者,都采用 2 或 4 个空格 (可设置)
这使得键入时可以随意混和使用 Tab 和空格
- 标题行、有序表、无序表、分割线等 Markdown 元素型式统一
- 中文之后用中文标点符号
- 英文和数字的内部使用半角标点
- 可通过配置文件任意设置,譬如:
- 尾部双空格或无空格
- 小序号:行首的数字 + 多个逗、分、点字符,如
123,, 或 123;。 等等改为 ‹ 123 ›
- 多个全角的
? 和 ! 合为一个 ⁇、⁈、⁉、‼ 的型式
- 连续的
。。 改成 ··· ; 4 个及以上的则是 ··· ···
- 多个中文的
,;:、『』〖〗《》 合为一个
- 各种括号,统一为外侧带空格、内侧无空格的型式
- 链接
[] () 以及图片链接 ! [ abc ] ( HTTPS://xyz ) 的型式
去掉其中多余的空白 [abc](HTTPS://xyz)
- 各种前后空白的调整
如大中小括号、全角标点符号前后、中英文之间、数字之间、冒号与英文 / 数字之间
- ··· ··· ··· ···
—— 细节详情,无法尽列
- 概而言之,就是让写作时无须太在意缩进、中英文标点、间距等等琐碎
- 而成品具有大致统一的清晰简约风格
- 即使应用于普通的 .txt 文本,也能有大致的排版效果
- 即使应用于 .js、.cpp 之类的代码文件,也能去除中英文标点混淆之类的错误
- 各网站对 Markdown 的支持情况各不相同,有时还是要根据具体情况去调整
譬如大多网站都支持尾部无空格,并能正确分行
但此处,VsCode 的扩展介绍页,若没有尾部空格,就必须加个空行,否则不能正确分行
所以虽然觉得没有尾部双空格,看着更自然,但仍将缺省值设为:【tab 缩进】【尾部双空格】
自己平时使用 VsCode 时,并不打开 Markdown 预览,那么,视觉上就是一般的文本了
但文章仍然保持了与预览中大致相同的排版效果,这是我喜欢的风格
导出大纲
- 如果文档存在大纲,命令
cinfwyx.tools.export 可以将它导出来
- 适用于任何存在大纲的文档,导出其【大纲视图】中的全部内容
- 大纲的内容是由系统,或其它扩展,譬如各种 Lint 提供的
对于大多代码文件,这个大纲就是代码中的【类、函数、变量】等标识符的列表
而对于 Markdown 文档,则一般是各级标题
版本
v 0.2.10 加个功能:命令 cinfwyx.tools.export , 导出大纲
v 0.2.15 加个功能:可设置,在每行输入结束后,自动对该行执行风格化
v 1.1.1 加个功能:在状态栏显示当前光标所在处的字符的 unicode 编码,写代码用得着
v 1.2.8 不再使用 VsCode 的配置系统,而使用单独的配置文件
这使得增删正则式以更改、扩充程序功能变得很容易,特别适合于使用者按需灵活定制
调整代码,使 extension.js 的 size == 6666 Bytes, 大吉
v 1.2.12 planken_englands 希望有 (无) 序表后,不要固定跟随 2 个空格
于是加个选项,用以设定该间隔空白,可为 1 ~ 4 个空格,或设为 0 则为 1 个 Tab
v 1.2.34 改为按语言模式的分类处理;强化配置文件;强化范围保护
再不会有某个正则处理不同类型文档时的矛盾
保护范围可以跨行,容错嵌套、交错的保护用字符
自动执行时不限于该行,若处于跨行的保护或注释范围内,则处理该范围
调整代码,现在 extension.js 的 size == 8888 Bytes, 大利
见到有人下载安装了,挺好,那么,有什么意见、建议可联系:18781219@qq.com
| |