2011-11-25 26 views
6

Điều này khiến tôi làm tròn khúc cua. Tôi là nhà phát triển biểu mẫu dài VB.NET, khá mới với ASP.NET và hoàn toàn mới đối với MVC. Tôi đang tạo vbhtml các trang sử dụng cú pháp VB.NET Razor và dường như tôi liên tục chiến đấu chống lại số UI đang cố gắng thụt lề mã của tôi không chính xác. Lấy ví dụ sau đây, dựa trên trang mẫu cho một Razor nhìn mới:Làm cách nào để tạo mã thụt đầu dòng hoạt động chính xác trong các tệp dao cạo vbhtml?

@Code 
    Layout = Nothing 
End Code 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div> 
     @If True Then 
      @<ul> 
       @For x = 1 To 2 

       Next 
      </ul> 
       End If '<-- Randomly indented too far 
    </div> 
</body> 
</html> 

Trong ví dụ trên, ngay sau khi tôi nhấn trở lại sau khi Next, End If hai dòng dưới đây nhảy ngẫu nhiên hai tab phía trước từ vị trí của nó được. Trong các ví dụ khác tôi đã nhấn một vòng tròn, nơi đẩy một dòng vào đúng vị trí sẽ ném một đường khác ra khỏi vị trí và ngược lại.

Tôi rất khó chịu vào thời điểm này, tôi rất sẵn lòng vô hiệu hóa tính năng tự động thụt đầu dòng và chỉ tự mình quản lý, nhưng tôi thậm chí không thể tìm hiểu cách thực hiện điều đó! Sau lời khuyên về một chủ đề khác, tôi đã vô hiệu hóa thụt đầu dòng cho các trang HTML nhưng tất cả các điểm dừng lại là thụt lề của các thẻ HTML - các khối mã vẫn trượt quanh tất cả các nơi.

Tôi nghĩ tiện ích mở rộng có thể gây ra sự cố nhưng tôi đã vô hiệu hóa tất cả và khởi động lại và sự cố vẫn còn. Tôi đang làm điều gì đó sai về cơ bản? Tôi cảm thấy khó tin rằng Microsoft sẽ phát hành một thứ gì đó quá tệ nên có vẻ như tôi không sử dụng nó đúng cách.

+0

Tôi nghĩ bạn có thể sử dụng tùy chọn "Định dạng toàn bộ tài liệu" là một phần của công cụ "chỉnh sửa nguồn HTML" trong studio trực quan. Hoặc bạn có thể sử dụng lệnh (Ctrl + E, D) trên cơ sở thường xuyên để định dạng tài liệu. – pramodtech

+1

@Pramodtech: Trong môi trường của tôi, Ctrl + E, D sẽ trả về hộp thoại "Thêm tệp hiện có", nhưng tôi đã thử Ctrl + K, D dường như định dạng toàn bộ tài liệu. Rắc rối là, nó làm cho tài liệu trở nên tồi tệ hơn trước đây. Nó có vẻ như MS có một lỗi nghiêm trọng trong tự động thụt đầu dòng của vbhtml mà tôi thấy thực sự đáng ngạc nhiên cho cách đánh bóng VS nói chung. – wwarby

+0

@wwarby Nó không chỉ VB, nó ảnh hưởng đến C# quá, mà làm cho nó tất cả các stupifying thêm rằng nó chưa được giải quyết. –

Trả lời

2

Tôi tìm thấy một giải pháp (của một thời trang) trên một câu hỏi khác (tôi thực sự tìm kiếm khó khăn trước khi đăng câu hỏi này và không thể tìm thấy bất cứ điều gì): Why doesn't Visual Studio code formatting work properly for Razor markup?

Về cơ bản là giải pháp có vẻ là để đảm bảo rằng mã của bạn sử dụng dấu cách thay vì các tab cho khoảng trắng. Trong khi tăng kích thước tổng thể của trang vì khoảng trống tăng lên, nó làm giảm bớt vấn đề (trong khi không loại bỏ hoàn toàn). Trên các chủ đề liên kết, một người dường như được kết nối với Microsoft đã thừa nhận nó thực sự là một lỗi liên quan đến các trình định dạng chồng chéo cho HTML và VB.NET mà họ hy vọng sẽ cải thiện trong một bản phát hành mới. Tôi đã giảm xuống 2 khoảng trống mỗi thụt lề để giảm tác động băng thông.

Nhờ những người đã đóng góp.

0

Một lựa chọn tốt hơn ở đây (thay vì sử dụng dấu cách cho tab), là thay đổi chặn thụt đầu dòng cho HTML và C#/VB thành "Chặn" thay vì "Thông minh". Đây không phải là một giải pháp đầy đủ, nhưng IMO là một công việc ít đau đớn hơn nhiều so với sử dụng không gian!

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