Golang中如何在调试器自动显示数组

Golang中如何在调试器自动显示数组 image

如上图所示,VSCode中的Go调试器可以直接显示数组。 GoLand能否像这样显示数组?GoLand只显示长度和容量。具体的值是折叠起来的。

3 回复

我对Goland没有使用经验。或许在JetBrains论坛或类似的地方提问会得到更好的回应,那里的人对Goland非常熟悉。

更多关于Golang中如何在调试器自动显示数组的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


我的 Goland 中没有折叠功能。

obraz

在GoLand中,可以通过以下方式在调试器中自动展开数组显示:

  1. 使用调试器设置: 在调试会话中,右键点击数组变量,选择"Customize Data Views" → 勾选"Enable for this type"

  2. 修改调试器配置: 在.idea/watchersTasks.xml中添加数组类型的自动展开规则:

<component name="RunManager">
  <configuration name="Debug">
    <option name="SHOW_VARIABLES_PANEL" value="true" />
    <customizers>
      <type customizer="com.intellij.debugger.settings.ArrayRenderer">
        <option name="ENABLED" value="true" />
        <option name="MAX_ARRAY_SIZE" value="1000" />
      </type>
    </customizers>
  </configuration>
</component>
  1. 使用调试器表达式求值: 在调试器的"Variables"面板中,可以直接输入表达式查看数组内容:
// 示例代码
package main

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    slice := []string{"a", "b", "c", "d"}
    
    // 调试时在Watches面板添加:
    // arr
    // slice
    // fmt.Sprintf("%v", arr)
}
  1. 安装GoLand插件: 安装"Better Go Debugging"插件,该插件增强了数组和切片的显示功能。

  2. 使用调试控制台命令: 在调试控制台中输入:

    -exec print arr
    -exec print slice
    

GoLand 2023.3及以上版本默认改进了数组显示,确保使用最新版本以获得最佳调试体验。

回到顶部