2012-07-31 32 views
37

Vì vậy, đây:Breaks ReSharper Line và Bao bì

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

được định dạng để:

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

Tôi đã nhìn nhau trong những lựa chọn cho các ngắt dòng và gói nhưng tôi đã không có thể tìm được thứ để giữ mọi thứ trên cùng một dòng càng lâu càng tốt. Tôi giả định rằng tôi đã bỏ lỡ tùy chọn đúng. Tùy chọn Right margin (columns) của tôi được đặt thành 100, rất lớn.

Câu hỏi: Có cách nào để làm cho nó trông giống như bản gốc, và vẫn nhận được định dạng thông minh trên những thứ khác mà thực sự cần phải được bọc?

Tôi có thể tự đặt

cmd = new OdbcCommand(string.Format (
     @" 

lại trên dòng đầu tiên và nó sẽ rời khỏi chuỗi đúng nguyên văn trên dòng tiếp theo hạnh phúc. Đó là một sự thỏa hiệp không sao tôi đoán.

+1

Hãy thử đặt thuộc tính "Giữ nguyên ngắt dòng hiện tại" thành đúng theo Chỉnh sửa mã => C# => Kiểu định dạng => Dấu ngắt dòng và Gói. Bạn cũng có thể rút ngắn thuộc tính "Lề phải (cột)" để lề phải nhỏ hơn và do đó "Cắt nếu dài" không xảy ra thường xuyên. –

+0

Bạn có thể giải thích về những gì bạn đang cố gắng đạt được không? Bạn có muốn Resharper đưa câu lệnh Select trở lại thành một dòng không? Nếu vậy, tôi không nghĩ rằng nó sẽ làm điều đó. Resharper thường cố gắng định dạng lại mã và phá vỡ nó để dễ đọc. – Gambit

+0

Yêu thích tham chiếu xkcd. "có thể bạn sẽ học cách sanitize sql của bạn". –

Trả lời

83

Tôi đoán rằng vấn đề của bạn là dòng đầu tiên bị hỏng trong ba. Điều này là do lỗi http://youtrack.jetbrains.com/issue/RSRP-288271 đã được sửa trong ReSharper 7.0. Bạn nên cân nhắc việc nâng cấp hoặc tắt tùy chọn ReSharper | Options -> Code Editing | C# | Formatting style | Line breaks and wrapping -> LineWrapping | Wrap long lines.

+0

Hey @Dmitry Osinovskiy, có thể bạn có một đầu mối về một vấn đề tôi đang gặp phải với ReSharper 6.1? Nếu bạn có thể, hãy xem xét câu hỏi của tôi: http://stackoverflow.com/questions/11622581/resharper-unit-test-runner-ignores-deployment-items-configuration – devundef

+0

Chúng tôi vẫn đang ở trên 6.1. Tôi đang sử dụng một Margin phải là 100, vì vậy nó nên được rất nhiều. Nó có vẻ như, "Ồ, OdbcCommand mới() quá dài, đặt nó trên một dòng mới. Oh, string.Format() này là quá dài, đặt nó trên một dòng mới. Oh, chuỗi nguyên văn này là quá dài, đặt nó trên một dòng mới. " Ít nhất, đó là cách tôi hình dung thuật toán hoạt động. – ryancerium

+0

@devundef Thật không may tôi không có một đầu mối. Nhưng bạn luôn có thể thử hỏi anh ta https://twitter.com/fergard/status/228271877393633280 –