Some suggestions about devcontainer.json, clang-tidy, cmake-format, and ubuntu jimmy.

Đang mở
#13 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ệ
Công nghệ
cmake, cpp, dockerfile, python, ubuntu

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

Mở trong Codespaces

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cpp-best-practices/cmake_template

Tất cả issue của cpp-best-practices/cmake_template

Issue tương tự

Thêm issue về Build System

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.