ST 代码中违反规则的快速修复
在里面 静态分析设置 对话框,在 规则 选项卡,您可以启用 ST 代码的规则。根据预编译信息检查这些规则的合规性。不需要显式调用静态分析来检测任何此类违反规则的行为。在预编译期间和成功编译之后,在活动的 ST 编辑器中检查是否符合规则。当发生违反规则时,它会立即在 ST 编辑器中以波浪下划线显示。此外,在消息视图中,错误消息或警告列在 预编译 看法。
有关说明,请参阅: 检查是否符合定义的命名约定
您可以在 ST 编辑器中找到 Quickfix,方法是单击带有波浪下划线的代码,然后单击灯泡符号 ,或在消息视图中通过
错误消息行中的按钮。在每种情况下,都会向您提供用于处理规则违规的相应命令。
对于 Quickfix,提供了以下命令,每个命令都取决于错误:
忽略错误/警告
该命令用于自动将 pragma 或属性插入代码中,这不包括对这行代码的相应规则的检查。
全局忽略 <programming object name> 的错误/警告
该命令用于在编程对象的声明部分的开头自动插入一个属性。然后排除对该编程对象的相应规则的检查。
带有有关如何更改 ST 代码以避免违反规则的建议的命令 (Quickfix)。例子: SA0168: 删除分配 'enum1 := 5'
关闭检查
该命令用于关闭设置中对应规则的检查。
提示
您可以撤消调用任何命令的效果。为此,首先单击 设备 查看(或 POU 看法)。然后 撤消 命令已启用。
启用规则
点击 规则 标签。
.切换到将显示一个列表,其中包含所有可能的规则检查。它们按主题类别以树状结构组织。 “规则编号”添加在括号中。您可以过滤规则、按选项对其进行排序或在列表中显示它们。
点击 结构化展示 筛选 (
符号),然后选择 按执行时刻构建 选项。
下面列出了预编译期间也可以检查的规则 在预编译期间和编译成功后执行 节点。这些是由复选标记标识的规则 预编译 柱子。在左侧的列中,您现在可以启用检查规则。
单击规则 (168) 行中的复选框,使状态从“红色复选标记”变为“黄色复选标记”到“无复选标记”。
红色复选标记表示规则违规作为错误消息发出。黄色复选标记表示将违反规则作为警告发出。没有复选标记表示该规则未被选中。
现在检查启用的规则。在违规的情况下,它们会在代码中标记并显示在消息视图中。
在消息视图中显示规则违规
点击
.消息视图打开。
在消息视图的列表框中,选择 预编译 类别。
在此类别中,仅显示规则违规,这些违规是在预编译期间和成功编译后检测到的,并且可以使用 Quickfix 解决。这
按钮提供了相应的命令。
执行快速修复
在设置中,启用了规则 168,并且在 ST 编辑器中显示了违反规则的情况。
要求:ST 代码中至少一行有波浪下划线,并且相应的 SA 编号显示在消息视图中。
单击带有波浪下划线的代码行。
这
符号显示。
单击灯泡符号。
将打开一个窗口,其中包含用于错误处理的菜单命令。
您想修复错误。因此,您单击命令 赋值 'enum1 := GVL.CONST'.
现在代码行会自动更改,如命令中所示。错误已修复。
第三个命令包含有关如何通过更改代码来修复错误的建议,具体取决于违反规则的情况。
通过单击 消息视图的错误消息行中的按钮。
对一行代码禁用规则检查
在设置中,启用了规则 168,并且在 ST 编辑器中显示了违反规则的情况。
要求:ST 代码中至少一行有波浪下划线,并且相应的 SA 编号显示在消息视图中。
单击带有波浪下划线的代码行。
这
符号显示。
单击灯泡符号。
将打开一个窗口,其中包含用于错误处理的菜单命令。
您不想修复错误。因此,您单击命令 忽略错误/警告.
现在,该行代码会自动提供编译指示。编译指示用于防止检查受影响规则的行。不会发出错误消息或警告。
对受影响的代码行禁用规则检查的命令也可以通过 消息视图中错误消息行中的按钮。
禁用一个编程对象的规则检查
在设置中,启用了规则 168,并且在 ST 编辑器中显示了违反规则的情况。
要求:ST 代码中至少一行有波浪下划线,并且相应的 SA 编号显示在消息视图中。
单击带有波浪下划线的代码行。
这
符号显示。
单击灯泡符号。
将打开一个窗口,其中包含用于错误处理的菜单命令。
您不希望使用指定规则检查编程对象。因此,您单击第二个命令 全局忽略 PLC_PRG 的错误/警告.
对象的声明现在自动提供一个属性。该属性用于防止为对象检查受影响的规则。不发出错误消息或警告。
忽略消息的命令也可以通过 消息视图中错误消息行中的按钮。
一般禁用规则检查
在设置中,启用了规则 168,并且在 ST 编辑器中显示了违反规则的情况。
要求:ST 代码中至少一行有波浪下划线,并且相应的 SA 编号显示在消息视图中。
单击带有波浪下划线的代码行。
这
符号显示。
单击灯泡符号。
将打开一个窗口,其中包含用于错误处理的菜单命令。
您不想再检查显示的规则。因此,您单击第四个命令 关闭检查.
该规则在静态分析设置中被禁用。
点击 规则 标签。
.切换到规则 168 已禁用。
全局禁用检查的命令也可以通过 消息视图中错误消息行中的按钮。