tôi viết nhỏ C++ ví dụ này trong Eclipse 3.4.1 (CDT 5.0.1):Làm thế nào tôi có thể làm cho Eclipse CDT tự động thụt lề một cách chính xác khi sử dụng BOOST_FOREACH?
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
int foo()
{
std::vector<int> numbers;
BOOST_FOREACH(int n, numbers)
{
std::cout << n << std::endl;
}
std::cout << numbers.size << std::endl;
}
Sau đó, tôi nhấn Shift + Ctrl + F để định dạng mã của tôi, và nó trở thành:
#include <iostream>
#include <vector>
#include <boost/foreach.hpp>
int foo()
{
std::vector<int> numbers;
BOOST_FOREACH(int n, numbers)
{ std::cout << n << std::endl;
}
std::cout << numbers.size << std::endl;
}
Đây là với BSD/Allman Code Style. Các phong cách khác rõ ràng là thay đổi giao diện của mã được định dạng, nhưng không có kiểu nào cho thấy sự thụt lề chính xác.
Khi tôi sử dụng tính năng định dạng trên một đoạn mã lớn hơn, các hàm hoặc phương pháp tiếp theo cũng bị ảnh hưởng bởi quá ít thụt lề, làm cho định dạng trợ giúp khá vô ích.
Có điều gì tôi có thể làm để làm cho thụt đầu dòng hoạt động đúng với BOOST_FOREACH không?
Bạn đã từng sửa lỗi này chưa? Plugin Astyle là IMO kém hơn vì nó sắp xếp các đối số hàm cách quá xa về bên phải. – Dave
Tôi chưa bao giờ giải quyết vấn đề này. Lưu ý rằng tôi đã không làm việc trên dự án này trong các phiên bản Eclipse mới hơn. –
là có thể nói nhật thực rằng 'BOOST_FOREACH' nên được định dạng giống như câu lệnh' while'? – Jayen