2015-11-12 11 views
5

Visual Studio 2015の最新リリースは、私たちのcshtmlマークアップ全体を非常に脆弱な状態にしています。多くの場合、使用可能な幅を超える属性値があり、コードを読みやすくするために属性を複数の行に分割する必要があります。Visual Studio 2015で複数行属性を書き込む方法は?

例:全体のデータバインド戻るVS 2013分の2010で

<div data-bind="someBinding: { hasErrors: bindingObject.HasErrors(duration), hasWarnings: bindingObject.HasWarnings(duration), parameterKey: bindingObject.SelectedObjectKey }, anotherBinding: value, anotherBinding2: value2, AndSoOn: yaddayadda.the.point.is.this.can.get.really.long"> 

を私たちは通常、もはや適切とDOM HTMLを解析しないでしょうデザイナーをそれを破るために、属性値内の改行を入れて起動する場合これに続く要素は、壊れた表のようにもはや有効ではなくなります。

私は、属性値を@( "...")でカプセル化することで、実際にデザイナーがスムーズに機能することが分かりました。

例:@付き()さて、ここで良いニュースはIDEでもこの文字列を拡大すると役立つだろうし、ページ自体を再フォーマットするとき、それは幸せになるとDOMをしていたある

<div data-bind="@("someBinding: { " + 
    "hasErrors: bindingObject.HasErrors(duration), " + 
    "hasWarnings: bindingObject.HasWarnings(duration), " + 
    "parameterKey: bindingObject.SelectedObjectKey }, " + 
    "anotherBinding: value, " + 
    "anotherBinding2: value2, " + 
    "AndSoOn: yaddayadda.the.point.is.this.can.get.really.long")"> 

を結合属性偉大な形。サーバーはC#の文字列を取り、プロダクションの単一の行にレンダリングし、すべてがうまくいきました...

私たちがアップグレードされるまで。 VS2015はこれを嫌うようですが、まったく異なる理由があります。今度はそれが全体をくすぐり、ツールチップに「Missing Attribute Name」と表示されます。ページを再フォーマットした場合には、だから私はここにガラスの上を歩いてい...

enter image description here

をすべてをbotches。これは何らかのバグですか、答えがあります。この属性の書式をリファクタリングする必要はありません。大きなコードベースがあります。

思考?

+0

とVS 2013 + R#10はこの動作を示さないので、これはVS 2015 + R#10だと思っています – beauXjames

+0

ReSharperを一時的に中断してこの警告まだ存在しています?私は "Inspection 'xxx'"抑制メニューがないので不思議に思っています。 – ulrichb

+0

中断されていますが、これと同じ振る舞い...これはR#よりもVSに関連していると思います...ちょうどR#が問題の解決に関連するオプションをどのように提供しているか興味深いです... – beauXjames

答えて

2

Visual Studio 2015 Update 1には、この問題の解決方法が含まれています。

+0

良い点...主な質問で「更新1」参照を削除しました... – beauXjames

関連する問題