2017-02-14 13 views
1

私は最新のvscode、firaコードttfフォント、およびionideプラグインを使用してF#を処理しています。私はちょうど、最新のvscodeに新しいと思う問題に気付きました、そして、私は基本的なVSCodeの問題だと思いますが、わかりません - それはionideプロジェクトまたはフォントに関連する可能性があります。または、おそらく、電子やクロムがここに欠陥がありますか?VSCodeフォント合字の問題 - 誰の問題ですか?

つまり、ラムダ関数宣言に使用されるF#の - >記号が常に認識されるとは限りません。

Various failures of the arrow symbol

あなたは上の画像で見ることができるように、楽しい_ - 匿名関数を宣言するために使用さ>構文はレンダリングされません - >すべての場合に矢印として。パラメータの周りに括弧を1つ追加するだけで、パラメータを数字(ただし文字ではない)に置き換えることができます。矢印結束は大きなマッチステートメントでうまく動作しますが、この特定の場所では失敗します。

フォントには正しい結束が含まれていて、他のほとんどの場所で使用されているため、私はそのフォントを考えていません。私はそれがどのように/ vscodeが合字に代わるべきかを決定するときと関係があると思います。何かについてx - >それは何もすべきではないと思うが、(_) - >はOKです。私は、イオン結合パッケージが何らかの形で結紮の検出に影響を及ぼす可能性があると考えていますが、私はそれについての証拠は見ていません。

これを問題としてvscodeに報告する前に、誰が何が起こっているのか、どこに問題があるのか​​を知っていますか?

編集:別の状況で別の画像が表示されない。マルチパラメータ関数は正しく表示されますが、単一パラメータ関数は正しく表示されません。私に

enter image description here

答えて

1

、これは、F#のためのtmLanguageファイルの問題のように見えます。

Developer: Inpsect TM scopesコマンドを使用しているとき、あなたが見ることができるように作業する場合には、それだけで単一のトークン(->)だのに対し、->は、合字が動作しない場合は、別のトークン(12)は次のとおりです。

私は実際に(haXeのために)#19183にかなり似リガチャー関連の問題を報告したが、その場合にははないは文法の問題のように見えるん。

VSCodeはF#文法のためにionide-fsgrammarを使用しているようですので、そこに問題を報告することができます。

+0

私はあなたが正しいと信じています。言語のスコープをもっと慎重に見ると、 'fun'は無名関数スコープを開始します。それがうまくいくと、楽しいものがその範囲からそれを蹴ったからです。それが失敗したときは、匿名関数スコープから - > - >が見えるまで蹴られないからです。括弧、数字など、その構文に従って関数宣言に期待されていないすべてのものを含み、その存在がanonキャプチャスコープからそれをキックするときにその存在が修正されます。 – Guy

+1

誰かが興味があれば、これはすでに[修正済み](https://github.com/ionide/ionide-fsgrammar/commit/4f7e4e4568d6710b0250c4d9bde26915875aee90)と思われます。それがリリースに入るのはいつかわかりませんが、Cieślak氏は頻繁にリリースします。 – Guy

関連する問題