2010-08-19 26 views
24

Có cách nào để tùy chỉnh định dạng bảo vệ bao gồm trong CDT nhật thực cho mẫu tạo lớp không? Định dạng hiện tại là <Class Name>_H, nhưng những gì tôi muốn là một cái gì đó như <namespace>_<namespace>_<class name>_H. Không phải là tôi mong đợi để có các lớp học có cùng tên trong các không gian tên khác nhau trong dự án của riêng tôi, nhưng tôi không muốn lo lắng về nó nếu trường hợp phát sinh.Tùy chỉnh các nhân viên bao gồm trong nhật thực CDT

+0

Gần đây tôi đã hỏi một cái gì đó tương tự (chưa có câu trả lời nào): http://stackoverflow.com/questions/3520943/eclipse-cdt-use-namespace-in-automatic-generated-include-guards – IanH

+0

Tôi cũng đã hỏi cùng một câu hỏi trước đây: http://stackoverflow.com/questions/5402665/how-to-customize-eclipse-cdt-code-templates Có một số câu trả lời, nhưng không có gì thực sự thỏa đáng. – LiKao

+1

Tôi nhận ra điều này có thể không chính xác những gì bạn đang tìm kiếm, nhưng đối với bất kỳ trình biên dịch nào không thực sự cổ xưa hoặc thực sự kỳ lạ, tôi thích '#pragma once'. – Reinderien

Trả lời

2

Có nhiều cách để thực hiện việc này. Bạn có thể xây dựng lại plugin plugin CDT. Thông tin về kho mã và môi trường cần thiết để xây dựng lại có sẵn here. Trong trường hợp của bạn, bạn cần thay đổi hành vi của generateIncludeGuardSymbol() phương pháp mà trong

lõi/org.eclipse.cdt.ui/src/org/eclipse/CDT/nội/corext/codemanipulation/StubUtility.java

Thông tin thêm về nó được mô tả trong this câu trả lời

2

tôi thích câu trả lời của Stuart ở đây:

How to customize eclipse CDT code templates

Chỉ cần tùy chỉnh mẫu. Vì vậy, trong hộp thoại Preferences trong C/C++ -> Code Style -> Code Templates bạn có thể sửa đổi mẫu để gần hơn với những gì bạn cần, ví dụ nếu bạn cần không gian tên trong bảo vệ, bạn có thể làm một cái gì đó như .

${filecomment} 

#ifndef ${namespace_name}_${include_guard_symbol} 
#define ${namespace_name}_${include_guard_symbol} 

${includes} 

${namespace_begin} 

${declarations} 

${namespace_end} 

#endif /* ${namespace_name}_${include_guard_symbol} */ 
1

Đây là trong Neon ...

mở lên Window/Preferences.
Đi xuống C/C++/Code Style/Name Style.
Dưới Code bạn sẽ tìm thấy Include Guard.
Dường như một số tùy chỉnh được cho phép ở đó.

Đây là thứ được mở rộng thành ${include_guard_symbol}.

+1

Không hoạt động đối với tôi. Có một nút radio cung cấp 1) Đường dẫn tên tệp tương đối ... 2) Tên tệp 3) Mã định danh duy nhất. Không có trường chuỗi có thể chỉnh sửa. Eclipse Neon 4.6.0. – Twonky

+0

Không hoạt động cho tôi. Có ai phát hiện ra cách chỉnh sửa đó không ?? Tôi cần phải xóa dấu gạch dưới mà tôi có. – bone

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