Some suggestions about devcontainer.json, clang-tidy, cmake-format, and ubuntu jimmy.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- build-system, developer-experience, devops, operating-systems, tooling
Hướng nghiên cứu
Bắt đầu bằng cách kiểm tra devcontainer.json, Dockerfile và .clang-tidy, sau đó xem dự án hiện xử lý việc định dạng CMake và hỗ trợ Ubuntu như thế nào. Xác nhận những đề xuất nào được chấp nhận trước khi thực hiện thay đổi; công việc được coi là hoàn tất khi các cập nhật đã thống nhất về development-container, linting, định dạng, quy tắc đặt tên và Ubuntu được thể hiện nhất quán.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello @lefticus. I admire your work. I have some suggestions and we can discuss about them and then I can create some PRs if they turn out to be good :
In devcontainer.json, add these settings for better automatically checking for Clang errors. VSCode shows nicely the problems and underlines the problematics line.
"C_Cpp.codeAnalysis.runAutomatically": true, // For automatically run code analysis on save
"C_Cpp.codeAnalysis.clangTidy.enabled": true, // Clang tidy checks are included when it is run code analysis
"C_Cpp.codeAnalysis.exclude": { // Exclude checking in out directory (using presets). Maybe need some other folders too.
"${workspaceFolder}/out/**": true
And add extension:
"cheshirekow.cmake-format" // For automatically run formating cmake files on save
This extension must have installed cmake-format. Because of this, we need to add in Dockerfile:
RUN python3 -m pip install cmake_format
In .clang-tidy I always like to add CheckOptions for example:
CheckOptions:
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
- { key: readability-identifier-naming.FunctionCase, value: CamelCase }
- { key: readability-identifier-naming.VariableCase, value: lower_case }
- { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
- { key: readability-identifier-naming.EnumConstantPrefix, value: k }
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
- { key: readability-identifier-naming.ConstexprVariablePrefix, value: k }
- { key: readability-identifier-naming.GlobalConstantCase, value: CamelCase }
- { key: readability-identifier-naming.GlobalConstantPrefix, value: k }
- { key: readability-identifier-naming.MemberConstantCase, value: CamelCase }
- { key: readability-identifier-naming.MemberConstantPrefix, value: k }
- { key: readability-identifier-naming.StaticConstantCase, value: CamelCase }
- { key: readability-identifier-naming.StaticConstantPrefix, value: k }
This force developers to use the same naming conventions. What do you think?
One more suggestion is to support the new ubuntu Jimmy.
- Ngôn ngữ chính
- CMake
- Star
- 1.8k
- Fork
- 205
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cpp-best-practices/cmake_template
-
Put back `-Wsign-conversion` for gcc in CompilerWarnings.cmakeCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Enable sanitizers globallyĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
cpp-best-practices/cmake_template#140 · 2 bình luận ·
-
From-scratch clone/build fails on `src/ftxui_sample/CMakeFiles/intro.dir/main.cpp.obj`Có thể đã có người làm @leftibot đã nhận 195 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
cpp-best-practices/cmake_template#139 · 2 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
cpp-best-practices/cmake_template#91 · 2 bình luận ·
Tất cả issue của cpp-best-practices/cmake_template
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
immortalwrt/immortalwrt#2522 ·
-
Font inlining cache is not created or reusedCó thể đã có người làm @nagahara-naoki đã nhận hôm nay. Đang mởarea: @angular/build
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
angular/angular-cli#34719 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
osaurus-ai/osaurus#3422 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
foundation/foundation-emails#2127 ·