2015-11-12 5 views
5

Le ultime versioni di Visual Studio 2015 hanno lasciato il nostro intero markup cshtml in uno stato molto fragile. Molte volte abbiamo valori di attributo che superano una larghezza utilizzabile e dobbiamo dividere l'attributo su più righe per rendere il codice più leggibile.Come scrivere attributi multilinea in Visual Studio 2015?

Esempio: a livello di dati-bind

<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"> 

Torna in VS 2010/2013 se iniziare solo mettendo ritorni a capo all'interno del valore di attributo per disgregare il designer di solito analizzare non è più il codice HTML in modo appropriato e DOM gli elementi seguenti non sarebbero più validi ... come un tavolo rotto.

Quindi abbiamo scoperto che incapsulando il valore dell'attributo in @ ("...") in realtà consentirebbe al progettista di funzionare senza intoppi.

Esempio: con @() attributo vincolante

<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")"> 

Ebbene, la buona notizia è l'IDE sarebbe anche aiutare con l'espansione questa stringa e quando la pagina stessa riformattato sarebbe felice e il DOM era in grande forma Il server prenderebbe questo blob di stringa C# e lo renderizzerebbe su una singola riga in produzione e tutto andò bene ...

Fino a quando non ci siamo aggiornati. VS2015 sembra detestare questo, ma per ragioni completamente diverse. Ora scarabocchia l'intera cosa e il suggerimento dice 'Nome attributo mancante'. Quando la pagina riformatta si pasticci tutto ...

enter image description here

così sto camminando su vetri qui. È una specie di bug o c'è una risposta, perché abbiamo una grande base di codice che non vuole passare attraverso il refactoring di questa formattazione di attributi.

Pensieri?

+0

e, per la cronaca, VS 2013 + R # 10 NON presenta questo comportamento ... quindi penso che questo sia solo con VS 2015 + R # 10 – beauXjames

+0

Potrebbe sospendere temporaneamente ReSharper e controllare se questo avviso esiste ancora? Mi sto solo chiedendo perché non esiste un menu di soppressione "Inspection 'xxx'". – ulrichb

+0

Sospeso e ancora lo stesso comportamento ... quindi penso che questo sia più associato a VS che R # ... semplicemente interessante come R # fornisce opzioni rilevanti per 'risolvere' il non-problema ... – beauXjames

risposta

2

L'aggiornamento 1 di Visual Studio 2015 contiene una risoluzione a questo problema.

+0

buon punto ... Ho rimosso il riferimento "aggiornamento 1" nella domanda principale ... – beauXjames