Có "tô sáng cú pháp" (tô màu) và có "kiểm tra cú pháp" (đường gạch dưới lượn sóng). Màu cú pháp dường như có liên quan đến Kate như @Koying gợi ý, bạn có thể sửa đổi màu sắc và tắt nó đi. Tính đến Qt Creator 2.5.0 nó dường như không có một vấn đề với nhất ví dụ C++ 11 Tôi dán ra khỏi web, mặc dù ví dụ của bạn không thực sự vẫn có gạch dưới:
http://labs.qt.nokia.com/2012/05/09/qt-creator-2-5-0-released/
Cũng không may, tại thời điểm viết bài (ngày 13 tháng 6 năm 2012, khoảng một tháng sau khi phát hành) gói SDK tích hợp mới nhất vẫn cài đặt Qt Creator 2.4.1 theo mặc định. : -/
Nếu đây là chiếc thuyền có người đang ở và muốn thử mới nhất, không làm những gì tôi đã làm bằng cách xoá sạch Qt SDK bạn cài đặt sử dụng /opt/QtSDK/SDKMaintenanceTool
! Đó là lãng phí thời gian trên một cài đặt lại, sau đó tôi thực hiện một sudo rm -r /opt/QtSDK/QtCreator
, sau đó nói với phát hành Qt Creator mới để cài đặt để /opt/QtSDK/QtCreator
. Tôi sẽ cập nhật bài đăng này nếu tôi nhấn một snag với lựa chọn đó!
http://qt-project.org/wiki/Qt_Creator_Releases
NHƯNG mặc dù nó có vẻ làm việc với nhiều C++ 11 cấu trúc nó không làm gì ví dụ của bạn cũng không phải là trường hợp đặc biệt tôi vấp trên, đó là unspaced<nested<syntax>>
cho các mẫu.
(Lưu ý: Nó có vẻ như là một điều nhỏ nhặt, nhưng đó là một tính năng C++ 11 lớn đối với tôi .. Tôi ghét đối phó với việc phải làm tailspaced<nested<syntax> >
...dẫn tôi luôn làm fullyspaced< nested<syntax> >
trên tất cả các mẫu để giữ mọi thứ nhất quán. Các trường hợp đơn giản như vector<int>
. Bây giờ họ đã sửa trình biên dịch, tôi đã sẵn sàng để tiêu diệt tất cả các khoảng trống đó.)
Có vẻ như không có cách nào để tắt đường gạch dưới (unless you recompile Qt Creator ??).
in qt-creator-2.5.0-src\src\plugins\cpptools\cppmodelmanager.cpp:
QTextCharFormat errorFormat;
/* disable error underline
errorFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
errorFormat.setUnderlineColor(Qt::red);
*/
// set up the format for the warnings.
QTextCharFormat warningFormat;
/* disable warning underline
warningFormat.setUnderlineStyle(QTextCharFormat::WaveUnderline);
warningFormat.setUnderlineColor(Qt::darkYellow);
*/
Dù sao đi nữa, đó là một hậu quả điên rồ khi sao chép công việc của trình biên dịch trong IDE thay vì có hai mã front-end. Chúng ta sống trong thời đại đen tối của phần mềm. Sẽ không ai đó save us? [/ Rant]
Dưới đây là một số mã có liên quan (tôi nghĩ):
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/cppeditor/cpphighlighter.cpp
... và lexer đây, lưu ý các thành viên _cxx0xEnabled
:
https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/libs/cplusplus/SimpleLexer.cpp#line80
Bên cạnh cú pháp của bạn, khoảng cách mẫu là điều duy nhất tôi đã tìm thấy trong C++ 11 gây ra các dòng. Đó là đủ lớn với tôi rằng tôi có thể chỉ cần xây dựng QtCreator của riêng tôi để giải quyết nó!
Có thể bạn sẽ phải tắt nó trên toàn cầu để loại bỏ nó. Qt Creator có lẽ không biết cú pháp C++ 11. Ngoài ra, bạn có thể tìm thấy một tùy chọn để đặt nó ở chế độ C++ 11. –
Nó biết tự động, unique_ptr và thậm chí lambdas. Tôi có nghĩa là không có sóng đỏ và biên dịch tốt. –
Điều đó không có nghĩa là nó biết cú pháp 'for' dựa trên phạm vi. –