2012-12-15 36 views
20

Tôi đã gặp sự cố với trình định dạng Eclipse. Nó sẽ không định dạng mã của tôi một cách chính xác khi khai báo các phương thức trong một khai báo lớp. Nó đặt một dòng mới sau kiểu trả về của phương thức.Trình định dạng Eclipse C++ đặt dòng mới trước số nhận dạng phương thức

Tôi đã xuất tệp xml kiểu và kiểm tra cài đặt trong đó, nhưng không có cài đặt nào có kết nối rõ ràng với vấn đề này và trình chỉnh sửa cài đặt trong Eclipse không hiển thị cùng một vấn đề xảy ra trong mã mẫu của nó khai báo phương thức.

Dưới đây là một chút ví dụ về mã cho những gì tôi muốn có xảy ra:

class MyClass 
{ 
    public: 
     MyClass(); 
     void myMethod(); 
}; 

Tuy nhiên, đây là những gì tôi nhận được:

class MyClass 
{ 
    public: 
     MyClass(); 
     void 
     myMethod(); 
}; 

Một lần nữa, trong trình soạn thảo phong cách, mã không có vấn đề này và trông như thế nào tôi muốn nó, nhưng trong mã thực tế, câu chuyện là khác nhau.

Tôi đang sử dụng phiên bản 3.8.0. Bất kỳ trợ giúp được đánh giá cao.

Chỉnh sửa: Tôi đã xóa các tệp nguồn đã được định dạng không chính xác (sau khi định dạng mã nhiều lần thành không có sẵn) và thay thế chúng bằng các tệp "giống hệt" với cùng phương pháp, cùng cấu trúc, v.v. va no đa hoạt động. Đây có lẽ là một lỗi, nhưng tôi để nó lên chỉ trong trường hợp bất cứ ai khác gặp phải một vấn đề tương tự hoặc có một giải pháp để tránh vấn đề này ở nơi đầu tiên.

Trả lời

18

tôi tay thay đổi nội dung hai tập tin dưới chính thư mục dự án thực

.metadata\.plugins\org.eclipse.core.runtime\.settings 

Hai file:

file 1: org.eclipse.cdt.core.prefs, change this line from "insert" to "do not insert" 
org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert 


file 2: org.eclipse.cdt.ui.prefs, 
scan this file for "insert_new_line_before_identifier_in_function_declaration" and make a similar change from insert to do not insert next to it, should be obvious 

Note Tôi thấy vấn đề này trên chàm và juno, sửa chữa mô tả ở trên là trong juno .

+2

Cùng một vấn đề trong Kepler, được giải quyết bằng kỹ thuật này. Tại sao điều này không có trong menu Preferences? – belial

+2

Tại sao không phải là điều này trong trình đơn tùy chọn, mặc định (phá vỡ vì không có lý do chính đáng) là khủng khiếp. – dashesy

+0

Điều này vẫn còn tồn tại trong Luna. Các sửa đổi ở trên giải quyết vấn đề. Đây phải là một thiết lập trong Eclipse. – eluong

6

Nếu bạn có cấu hình trình định dạng tùy chỉnh, hãy xuất cấu hình đầu tiên (cài đặt> C/C++ chung> Trình định dạng> Chỉnh sửa> Xuất). Sau đó thay đổi dòng sau thành "không chèn". Lưu XML.

<setting id="org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration" value="do not insert"/> 

Xóa cấu hình hiện tại và nhập cấu hình bạn đã thay đổi.

+0

Bạn có thể giải thích cách thay đổi điều này thông qua giao diện người dùng Eclipse không? – einpoklum

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