2013-02-08 41 views
5

Tôi thực sự thích để tạm thời bật hoặc tắt phần đang bằng cách bình luận cho họ theo cách này:XCode Cảnh báo: "/ * trong khối bình luận"

/* 
some code 
/**/ 

(Tâm trí các

/**/

thay vì

*/

ở cuối)

Tuy nhiên, XCode giữ cho tôi cảnh báo:

/* within block comment 

Có cách nào để "tùy chỉnh-disable" cảnh báo cụ thể?

TẠI SAO? Tôi sẽ cho bạn biết lý do: Bởi vì tôi có thể dễ dàng mang nó vào và ra chỉ với một ký tự, mà không phải cuộn xuống để lấy "*/vào và ra."

+0

Umm ... chỉ sử dụng '* /'? – Doorknob

Trả lời

5

tôi tìm thấy một lựa chọn rất tốt đẹp để:

/*  
some code 
/**/ 

Bạn chỉ có thể sử dụng phiên bản này:

/* 
some code 
//*/ 

để đạt được cùng một mục tiêu mà không cần bất kỳ cảnh báo Xcode!

+0

"rất đẹp"? Không phải tất cả ... – trojanfoe

+0

@trojanfoe bạn không muốn xác định cờ cho mỗi và mỗi khối chú thích được sử dụng trong quá trình phát triển, câu trả lời của bạn là tốt cho phiên bản sản xuất, –

+1

@ A-Live Đây không phải là ý kiến, mã nhận xét này. Sử dụng cờ (ngay cả những cái giống như '0') làm cho nó rõ ràng hơn rằng đây là mã nhận xét chứ không phải là Giải pháp này là dễ bị lỗi vì bạn phải nhớ rằng '// * /' được sử dụng để chấm dứt bình luận. Trong ngắn hạn nó không tốt và không phải ở tất cả "đẹp", hãy để một mình "rất tốt đẹp" – trojanfoe

8

Khi tôi muốn tạm thời xóa một khối code tôi sử dụng:

#if 0 
somecode(); 
#endif 

nào tránh được vấn đề này và rất dễ dàng để phát hiện sau

Nếu tôi muốn sau này tạm thời bật lại mã đó, sau đó tôi chỉ đơn giản lật 0-1:.

#if 1 
somecode(); 
#endif 

Tuy nhiên nếu điều này cho phép/nhu cầu vô hiệu hóa được rõ ràng hơn, và dễ dàng hơn để kiểm soát, sau đó tôi sử dụng một hằng số được xác định ở phía trên cùng của tập tin nguồn thay vì:

#define SOME_FANCY_FEATURE 1 

... 

#if SOME_FANCY_FEATURE 
somecode(); 
#endif // SOME_FANCY_FEATURE 
+0

Không trả lời câu hỏi của tôi, nhưng là một lựa chọn tốt đẹp. Đánh giá một cuộc bỏ phiếu. –

+0

@ user1423640 Tôi e rằng không có câu trả lời cho câu hỏi của bạn, chỉ là lựa chọn thay thế. Bạn đang giới thiệu các lỗi cú pháp vào mã của bạn đang làm những gì bạn đang làm. – trojanfoe

+0

@trojanfoe SEEMS giải pháp của bạn hiệu quả, nhưng thực sự còn tồi tệ hơn nhiều. Nó không thành công khi bạn có nhiều đoạn mã lồng nhau được nhận xét (tôi thường gặp điều này khi gỡ lỗi/tái cấu trúc các dự án nguyên khối lớn đã quá muộn để sửa chữa lớn - tức là các ứng dụng trong thế giới thực :)).Vấn đề là Xcode có hỗ trợ rất kém đối với các khối #if được lồng nhau: sau một vài lần lồng nhau, nó phá vỡ cú pháp hilighter và formatter CHO CLASS WHOLE, và nó không bao giờ có thể có được layout đúng. Nếu Xcode tốt hơn, cách tiếp cận của bạn sẽ hoạt động. Nói chung, nó chỉ hoạt động cho các trường hợp tầm thường: ( – Adam

3

Câu trả lời thực sự cho tôi (chỉ cần vô hiệu hóa một cảnh báo XCode, mà không thay đổi bất kỳ dòng trong mã di sản) là ở đây: https://stackoverflow.com/a/21046102/540639
của Apple LLVM 6.0 Tuỳ chỉnh biên dịch Flags -> Flags Cảnh báo khác -> -Wno-comment

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