2015-02-23 88 views
0

我有點新去的,所以這可能是一個圍棋的問題,而不是一個一個的IntelliJ:我剛剛建立了https://github.com/go-lang-plugin-org/go-lang-idea-plugin/從壓縮文件中的IntelliJ 14Go-Lang IntelliJ插件爲什麼與Go的語法不一致?

我發現,編譯器不一致與語法高亮。

world, err := redis.String(c.Do("GET", "message1")) 
if err != nil { 
    fmt.Println("key not found") 
} 

產生以下錯誤信息。

*調用Redis.String時沒有足夠的參數。

仔細看看對Redis.String的調用,它似乎需要一個接口+參數。

func String(reply interface{}, err error) (string, error) { 
    .... 
    return "", fmt.Errorf("redigo: unexpected type for String, got type %T", reply) 
} 

就這樣,我能夠在IDE誘騙取出RROR消息,通過簡單地增加一個「犯錯」 ARG到通話結束後,像這樣:

world, err := redis.String(c.Do("GET", "message1"), err) 

!這個「修復」會讓編譯器不高興......並且它會報告此消息(即使IntelliJ插件不會將其解釋爲錯誤)。

./t1.go:19:多值c.Do()的單值上下文

上爲什麼的IntelliJ轉到插件希望有兩個參數,有什麼想法wheresas只GoLang想要一個參數,因爲這個功能會有很大的幫助。

回答

1

這不是你犯的一個錯誤,它只是一個問題,我們現在有一個問題,那個插件的特定部分負責照顧那樣的事情。

按照my answer,請看問題13431222

謝謝。

+1

有道理,謝謝。其實這個插件對於大多數其他任務來說工作得很好。 – jayunit100 2015-02-24 16:35:37

相關問題