Intellij 中的数据类型呈现器?

2022-09-03 17:01:35

最近转换为Intellij。Eclipse 在调试器中有一个功能“基元显示选项”,它使调试器以十六进制和 ascii 值呈现基元。

Eclipse Debugger

由于到目前为止,Intellij中的一切都变得轻而易举,我认为这将是一个明智的选择,但是在一个小时之后,经过一些非功能数据类型的渲染,我发现自己已经准备好爬回日食。我制作了一些有效的渲染器,但仅适用于对象,所以我只能得出结论,渲染器似乎不适用于基元。有人能在这里给我指出正确的方向吗?

编辑:我已经看到了在默认渲染中选择十六进制的选项,但我希望不仅仅是一个需要对每个变量单击2次的解决方案。


答案 1

我的解决方案是使用以下表达式提供自定义数据类型呈现器: 。byte[]new String(Hex.encode(this));

默认情况下,只要启用了数据类型呈现器(在应用程序重新启动时维护状态等),此方法就有效。如果您愿意,可以添加更复杂的字符串格式设置(我通常有一个实用程序类来执行进一步的格式设置,我只是从DTR表达式字段中调用它)。

Data Type Renderer

Debugger view


答案 2

对于整数值(即,既不是浮点值也不是布尔值),可以通过右键单击调试器中的基元并选择“查看为”->“十六进制”来将它们作为十六进制值进行查看。

enter image description here

默认情况下,数据类型呈现器功能仅适用于对象,表示基元的唯一实际方法是将其作为整数值或十六进制,因此我认为这是一个令人高兴的折衷方案。


推荐