Emacs VHDL Mode - 高效的VHDL代码格式化工具
Emacs VHDL Mode 是一款专为VHDL代码格式化设计的强大工具。利用emacs的批处理模式,您可以通过标准输入传递VHDL文件内容,并通过标准输出获取格式化后的代码。
工作原理
Emacs VHDL Mode的工作原理非常简单:我们以批处理模式调用emacs,将VHDL文件的内容通过标准输入传递给emacs,然后通过标准输出获取格式化后的代码。
自定义设置
通过emacs-vhdl-formatter.customEval选项,您可以扩展评估的elisp代码。这项功能允许您在格式化代码之前自定义VHDL样式。大多数情况下,您可能需要调整vhdl-offsets-alist来定义各种组件的缩进。默认情况下,该列表包含以下内容:
((string . -1000) -- 多行字符串内部
(block-open . 0) -- 语句块开启
(block-close . 0) -- 语句块关闭
(statement . 0) -- VHDL语句
(statement-cont . vhdl-lineup-statement-cont) -- VHDL语句的延续
(statement-block-intro . ) -- 新语句块的第一行
(statement-case-intro . ) -- case替代块的第一行
(case-alternative . ) -- case语句的替代子句
(comment . vhdl-lineup-comment) -- 只包含注释的行
(arglist-intro . ) -- 参数列表的第一行
(arglist-cont . 0) -- 后续参数列表行,当同一行没有后续参数时
(arglist-cont-nonempty . vhdl-lineup-arglist) -- 后续参数列表行,当同一行至少有一个参数时
(arglist-close . vhdl-lineup-arglist) -- 参数列表的单独关闭括号
(entity . 0) -- 实体声明内部
(configuration . 0) -- 配置声明内部
(package . 0) -- 包声明内部
(architecture . 0) -- 架构体内部
(package-body . 0) -- 包体内部
(context . 0)) -- 上下文声明内部
您可以使用vhdl-set-offset函数来更改vhdl-offsets-alist中的值。例如,要移除关闭括号的缩进,请将emacs-vhdl-formatter.customEval设置为:
(vhdl-set-offset 'arglist-close 0)
要求
此插件需要您安装并在路径中可用的Emacs。
Windows用户
我们建议Windows用户在wsl中安装emacs,然后在wsl中调用emacs。目前,这是Windows用户的默认配置。然而,如果您有其他方式实现,请随意使用。
扩展设置
此扩展提供了以下设置:
发布说明
有关详细信息,请参阅CHANGELOG。
本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:study_golang@163.com