VSCode无法正确获取输入(VSCode可正确运行helloworld,代码在cmd中可正确运行)

代码来自GO语言圣经1.3,代码如下:

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    counts := make(map[string]int)
    scan := bufio.NewScanner(os.Stdin)
    for scan.Scan() {
        counts[scan.Text()]++
        fmt.Println(scan.Text())
        if scan.Text() == "exit" {
            break
        }
    }
    for line, n := range counts {
        if n > 1 {
            fmt.Printf("%s,%d\n", line, n)
        }
    }
}

程序的正确处理:
1.重复输入行的输出。
2.输入exit时退出输入。
3.输出输入次数大于1的行,输出输入次数和次数。

******

程序可以在cmd中正常运行,也显示正确的输出。

但它不能在 VScode 中正确运行。

VSCode不能正确重复输入行,也不能检测退出,也不能输出检测结果(重复输入的行和次数)。
请注意,我的 VSCode 可以正常运行 helloworld 程序。

launch.json里的配置里设置

"externalConsole": true,