当前位置:网站首页>Matlab代码格式一键美化神器
Matlab代码格式一键美化神器
2022-06-25 06:43:00 【studyer_domi】
MBeautifier是一个基于MATLAB源代码的开源一键美化m代码的格式器。它可以直接在MATLAB编辑器中使用,并且可按照使用者习惯进行配置的。MBeautifier支持的Matlab最低版本是R2013b。
MBeautifier的原始下载地址:https://github.com/davidvarga/MBeautifier
下载不方便的读者可以在公众号后台发送关键字:MBeautifier,即可获取百度网盘下载链接。
MBeautifier是一种基于M-Script的轻量级MATLAB源代码格式化程序,可直接在MATLAB编辑器中使用。

特点:
用空格填充运算符和关键字
可配置缩进字符和级别。使用MATLAB编辑器的智能缩进功能进行缩进
移除/添加连续空行
在矩阵和单元数组初始化中插入缺少的元素分隔符(逗号)
在矩阵和单元数组初始化中插入缺少的连续符号行
In-lining连续线
格式化MATLAB编辑器的当前页面或仅在MATLAB编辑器或文件中选择一个选项
而上面的一切都可以在一个XML文件中配置
部署和配置
只需将下载的zip文件解压到特定的目录,然后把MBeautifier的根目录添加到MATLAB路径。
![]()

配置Configuration
可以通过编辑MBeautifier\resources\settings\MBeautyConfigurationRules.xml文件来修改配置。

配置规则
目前实现了三种配置规则:Operator padding rule、Keyword padding rule和Special rule。
运算符填充规则
每个OperatorPaddingRule表示单个运算符的格式规则,由一个键、应替换的字符串和用于替换的字符串组成。
<OperatorPaddingRule> <Key>NotEquals</Key> <ValueFrom>~=</ValueFrom> <ValueTo> ~= </ValueTo> </OperatorPaddingRule>
上面的示例显示了“不等于”运算符的规则。
ValueFrom节点存储运算符~=,
ValueTo节点存储预期格式:运算符前面和后面都应该有white-space字符。
关键字填充规则
每个KeyworPaddingRule表示单个关键字的格式规则,并由关键字本身和右侧所需的white-space填充的数值组成。
<KeyworPaddingRule> <Keyword>properties</Keyword> <RightPadding>1</RightPadding> </KeyworPaddingRule>
上面的例子显示了关键字“properties”的规则。RightPadding节点存储预期的右填充空白量:关键字前面应该有一个空白字符。
注意:并不是所有的关键字都列出了-只有那些控制填充有意义的关键字。
特殊规则
这些规则基本上是MBeautifier某些功能的开关。详情可以见压缩包的README.md文件,
使用方法,直接在命令行输入使用
目前支持四种方法:
在MATLAB编辑器的当前活动页面上执行格式化。命令:
MBeautify.formatCurrentEditorPage()。默认情况下,不会保存文件,但仍会在编辑器中打开并修改。可以选择使用MBeautify.formatCurrentEditorPage(true)语法保存格式化的文件。

对MATLAB编辑器活动页面的当前选定文本执行格式化。命令:
MBeautify.formatEditorSelection()。在这种情况下,还存在如上所述的可选保存机制。(这个功能实测下来不知道为啥运行时间比较长,不推荐了)对文件执行格式化。命令:
MBeautify.formatFile(file)。可以与(1)一个参数一起使用:输入文件已格式化,并且在MATLAB编辑器中保持打开状态,未保存;(2)两个参数为MBeautify.formatFile(file, outFile):如果可能,将格式化的文件保存到指定的输出文件中。输出可以与输入相同。file需要绝对路径
对目录中的多个文件执行格式化。命令:
MBeautify.formatFiles(directory, fileFilter)。第一个参数是指向目录的绝对路径,第二个参数是一个通配符表达式(用于dir命令),用于过滤目标目录中的文件。文件将被格式化in-place(覆盖)。

边栏推荐
猜你喜欢

深度学习系列45:图像恢复综述

Introduction to the main functions of the can & canfd comprehensive test and analysis software lkmaster of the new usbcan card can analyzer

一文了解 | 革兰氏阳性和阴性菌区别,致病差异,针对用药

Anaconda based module installation and precautions

CAN总线工作状况和信号质量“体检”

How to resize an image in C #

Three Siemens fire-fighting hosts fc18 are equipped with can optical transceiver for optical fiber redundant ring network networking test

420-二叉树的层序遍历2(429. N 叉树的层序遍历、515.在每个树行中找最大值、116.填充每个节点的下一个右侧节点指针、104.二叉树的最大深度、111.二叉树的最小深度)

Modular programming of wireless transmission module nRF905 controlled by single chip microcomputer

Six causes of PCB disconnection 2021-10-20
随机推荐
一文了解 | 革兰氏阳性和阴性菌区别,致病差异,针对用药
1464. maximum product of two elements in an array
Six causes of PCB disconnection 2021-10-20
Invalid Navicat scheduled task
三台西门子消防主机FC18配套CAN光端机进行光纤冗余环网组网测试
Analysis and utilization of Microsoft Office Word remote command execution vulnerability (cve-2022-30190)
Do you know why the PCB produces tin beads? 2021-09-30
C control refresh
Ubuntu18下登录mysql 5.7设置root密码
Importer des données dans MATLAB
JDBC-DAO层实现
Four software 2021-10-14 suitable for beginners to draw PCB
27. 移除元素
Fairmot yolov5s to onnx
使用报文和波形记录分析仪RoyalScope的帧统计功能排查CAN总线偶发性故障
如何用svn新建属于自己的分支
差点被这波Handler 面试连环炮带走~
传统的IO存在什么问题?为什么引入零拷贝的?
【深度学习 轻量型backbone】2022 EdgeViTs CVPR
Tips 𞓜 how to clean PCB boards 2021-10-22
