2012-07-31 4 views
37

così, questo:Breaks ReSharper di linea e confezionamento

cmd = new OdbcCommand(string.Format(@" 
SELECT * 
    FROM Bobby_Tables 
WHERE Name = {0}", "Little Bobby Drop Tables"), odbcConnection); 

deve essere formattata per:

cmd = 
     new OdbcCommand( 
      string.Format( 
        @" 
SELECT * 
    FROM Bobby_Tables 
WHERE Name = {0}", 
        "Little Bobby Drop Tables"), odbcConnection); 

Ho guardato in ciascuna delle opzioni per interruzioni di linea e confezionamento, ma non sono stato in grado di trovare quello per mantenere le cose sulla stessa linea il più a lungo possibile. Presumo che mi sia sfuggita l'opzione corretta. L'opzione Right margin (columns) è impostata su 100, che è molto grande.

Domanda: C'è un modo per renderlo simile all'originale e ottenere ancora una formattazione intelligente su altre cose che in realtà devono essere incartate?

posso mettere manualmente il

cmd = new OdbcCommand(string.Format (
     @" 

di nuovo in prima linea e si metterà a lasciare la stringa verbatim sulla riga successiva felicemente. Questo è un buon compromesso, credo.

+1

Prova a impostare la proprietà "Mantieni le interruzioni di riga esistenti" su true in Modifica codice => C# => Stile formattazione => Interruzioni di riga e avvolgimento. Puoi anche accorciare la proprietà "Right margin (columns)" in modo che il margine destro sia più piccolo e quindi "Chop if long" non accade più spesso. –

+0

Puoi approfondire ciò che stai cercando di ottenere? Vuoi che Resharper riporti l'istruzione Select in un'unica riga? Se è così, non penso che lo farà. Il programma di ricerca di solito sta tentando di riformattare il codice e suddividerlo per renderlo leggibile. – Gambit

+0

Adoro il riferimento xkcd. "forse imparerai a disinfettare il tuo sql". –

risposta

83

Immagino che il tuo problema sia che la prima riga si è rotta in tre. Questo a causa del bug http://youtrack.jetbrains.com/issue/RSRP-288271 corretto in ReSharper 7.0. È necessario considerare l'aggiornamento o la disattivazione dell'opzione ReSharper | Options -> Code Editing | C# | Formatting style | Line breaks and wrapping -> LineWrapping | Wrap long lines.

+0

Ehi @Dmitry Osinovskiy, forse hai un indizio su un problema che sto avendo con ReSharper 6.1? Se puoi, dai un'occhiata alla mia domanda: http://stackoverflow.com/questions/11622581/resharper-unit-test-runner-ignores-deployment-items-configuration – devundef

+0

Siamo ancora sul 6.1. Sto usando un margine destro di 100, quindi dovrebbe essere abbondante. Sembra, "Oh, questo nuovo OdbcCommand() è troppo lungo, lo mise su una nuova riga. Oh, questa stringa. Formattazione() è troppo lunga, mettila su una nuova riga. Oh, questa stringa letterale è troppo a lungo, mettilo su una nuova riga. " Almeno, è così che immagino l'algoritmo funzionante. – ryancerium

+0

@devundef Purtroppo non ne ho idea. Ma puoi sempre provare a chiedergli https://twitter.com/fergard/status/228271877393633280 –