2013-12-11 10 views
27

Khi tôi định dạng tự động với Resharper CTRL + ALT + SHIFT + F cho đường dây dài hơn chiều dài dòng tối đa (trong trường hợp của tôi nói đó là 80 ký tự), tôi nhận được như sau:Làm thế nào để dừng Resharper từ ngắt dòng sau khi trở về từ khóa cho đường dài?

return 
     View(new ViewModel 
     { 
      Identifier = identifier, 
      Files = service.AllFiles() 
     }); 

Nhưng những gì tôi thực sự muốn là nó đừng bó sau khi "trở lại" từ khóa (tức là không có từ khóa lợi nhuận trên một dòng tất cả các ngày của riêng mình), như vậy:

return View(new ViewModel 
    { 
     Identifier = identifier, 
     Files = service.AllFiles() 
    }); 

có ai biết làm thế nào để "cấu hình" Resharper để làm điều này xảy ra? :)

Dưới đây là một ví dụ khác, đây là những gì tôi nhìn thấy bây giờ:

return 
     repository.Session.CreateCriteria(typeof(SomeType)) 
        .Add(Expression.Eq("Identifier", identifier)) 
        .UniqueResult<SomeType>(); 

Khi tôi thực sự muốn xem:

return repository.Session.CreateCriteria(typeof(SomeType)) 
        .Add(Expression.Eq("Identifier", identifier)) 
        .UniqueResult<SomeType>(); 

UPDATE:

Đây là " chop luôn ":

return View(new OrganisationFileLoadViewModel 
    { 
     Identifier = identifier, 
     AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles() 
    }); 

Dưới đây là "chop nếu dài":

return 
     View(new OrganisationFileLoadViewModel 
     { 
      Identifier = identifier, 
      AllExistingOrganisationFiles = nmdsOrganisationFileLoadService.AllNMDSOrganisationFiles() 
     }); 
+0

Bạn đã báo cáo lỗi này với JetBrains chưa? –

+0

Tôi vui mừng nếu nó chắc chắn là một lỗi và không chỉ là một thiết lập mà tôi đã sai ...? –

+1

Đó chắc chắn là một lỗi. –

Trả lời

34

Resharper -> Options -> (Code Editing) C# -> Formatting Style -> Line Breaks and Wrapping

Có rất nhiều lựa chọn cho dòng gói. Giá trị mặc định cho Wrap long lines thường là 120 ký tự. Điều này có thể kích hoạt ngắt của bạn kể từ khi bạn được đặt thành 80 hoặc Resharper 8.0 có thể có tùy chọn trả lại mới hơn. Đường dẫn ở trên là 7.0, nhưng tôi tin rằng nó giống hoặc ít nhất tương tự với 8.0.

Điều tuyệt vời là chúng hiển thị cho bạn các ví dụ về những thay đổi bạn thực hiện để bạn không phải thử nghiệm ngay lập tức.

+1

Tôi đang tìm tùy chọn để ngừng R # từ việc đặt từ khóa "trả về" trên một dòng riêng của mình (như trong ví dụ của tôi ở trên). Tôi không thể tìm thấy tùy chọn đó trong phần bạn đang đề cập đến. –

+1

Điều này sẽ làm cho vấn đề ít có khả năng xuất hiện. Nó không sửa chữa nó. Tôi có ReSharper thiết lập để phá vỡ sau 120 ký tự, nhưng đường rất dài vẫn còn phá vỡ ở những nơi khó xử. – siride

+0

Ngoài ra, tôi đang gói 150 ký tự (phù hợp trên màn hình 1920x1200 của tôi với phông chữ lớn độc đáo), nhưng tất nhiên tôi vẫn nhận được gói thỉnh thoảng và tôi thấy mình tự giới thiệu biến trung gian chỉ để tránh gói "gunk" trong R #, điều đó thật khủng khiếp và tôi ghét bản thân mình để làm điều đó ... –

2

Không có tùy chọn đặc biệt nào để TẮT "gói sau khi trả lại".

1) Tôi không thể tạo lại định dạng mã tương tự như được hiển thị trong đoạn mã đầu tiên. Tuy nhiên, tôi khuyên bạn nên cố gắng thay đổi cài đặt này thành "Simple Wrap": ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap invocation arguments.

2) Trong trường hợp của tôi, thay đổi sau sẽ giúp tôi: ReSharper | Options | Code Editing | C# | Formatting Style | Line Breaks and Wrapping | Line Wrapping | Wrap chained method calls | Select "Chop always".

+0

Tôi đã thay đổi tất cả thành "Simple Wrap", điều này không khắc phục được sự cố sau khi quay trở lại ... –

+0

Sau đó, tôi cũng đã đổi tất cả thành "chop nếu dài" không giúp được gì (trả lại vẫn là trên một dòng của chính nó). –

+0

Sau đó, khi tôi đi đến "chop luôn luôn" tôi nhận được hành vi chính xác (tức là nó không đặt sự trở lại trên một dòng riêng của mình)! #WINNING, nhưng sau đó tất cả các mã của tôi trông khủng khiếp vì nó _always_ cắt, mà làm cho những gì nên là một cuộc gọi phương pháp xích nhỏ hoặc khởi tạo đối tượng/bộ sưu tập (tức là nên phù hợp trên một dòng) mất 3-4 dòng không cần thiết ... –

Các vấn đề liên quan