我正在使用最新的vscode,使用fira代碼ttf字體,並使用ionide插件來處理F#工作。我只注意到一個我認爲是最新vscode的新問題,我認爲它是VSCode的一個基礎問題,但我不確定 - 它可能與ionide項目或字體有關。或者,電子或鉻在這裏是錯誤的?VSCode字體連字問題 - 是誰的問題?
簡而言之,用於lambda函數聲明的F#中的 - >符號並不總能被識別。
正如你可以在圖像中看到上面的樂趣_ - 用於聲明匿名函數>語法不渲染 - >在所有情況下,一個箭頭。在參數周圍添加單個括號會使其正常工作,同樣用參數替換參數(但不是字母)也是如此。在大型比賽聲明中,箭頭連字符的效果很好,但在這個特定的地方失敗了。
我不認爲它的字體,因爲字體包含正確的連字,並在大多數其他地方工作。我認爲它與vscode決定它應該如何取代連字符有關。關於x - >使它認爲它不應該做任何事情,但(_) - >是可以的。我認爲它有可能以某種方式影響結紮檢測,但我沒有看到它的證據。
因此,在我將此報告給vscode作爲問題之前,是否有人確切知道發生了什麼以及問題出在哪裏?
編輯:它在另一個上下文中失敗的另一張圖片。多參數函數呈現正確,單參數函數不會。
我相信你是對的。當我仔細查看語言範圍時,'fun'啓動匿名函數範圍。當它起作用時,這是因爲樂趣之後的東西已經將它踢出了這個範圍。當它失敗時,它會因爲它不會從匿名函數範圍中被踢出,直到它看到 - 在 - >中。 Parens,數字等,根據語法在函數聲明中不需要的所有東西,因此它們的存在會在它將它從非捕獲範圍中踢出時進行修復。 – Guy
如果有人有興趣,似乎已經[固定](https://github.com/ionide/ionide-fsgrammar/commit/4f7e4e4568d6710b0250c4d9bde26915875aee90)已經。不知道什麼時候才能發佈,但Cieślak先生經常發佈。 – Guy