Cách chia sẻ cài đặt Kiểu mã giữa các nhà phát triển trong IntelliJ


76

Tôi muốn tất cả các nhà phát triển trong nhóm của tôi sử dụng cùng một cài đặt kiểu mã mặc định. Tất cả chúng tôi đều sử dụng IntelliJ 11+ làm IDE của mình và chúng tôi sử dụng git làm hệ thống kiểm soát nguồn của mình.

Cách dễ nhất để đảm bảo tất cả chúng đều sử dụng cùng một cài đặt là gì? Tôi đã nghĩ rằng sẽ có một cách để kiểm tra cài đặt kiểu trong dự án và để các biên tập viên của họ tự động phát hiện ra chúng, nhưng có vẻ như không phải vậy.

Tái bút. Tôi không phiền nếu các nhà phát triển có ý thức ghi đè một số cài đặt mặc định bằng tùy chọn của riêng họ, nhưng tôi muốn đảm bảo rằng tất cả chúng ta ít nhất bắt đầu từ một bộ cài đặt mặc định chung.

Câu trả lời:


72

Code Style có thể được sao chép vào dự án và lưu vào .idea/codeStylesđể chia sẻ thông qua kiểm soát phiên bản :

Sao chép vào Dự án Nhấp vào nút này để tạo một bản sao của lược đồ toàn cầu hiện tại ở cấp độ dự án. Sau khi tạo bản sao, IntelliJ IDEA đề nghị chuyển sang sơ đồ mới này ở cấp dự án.


4
Bạn có biết những tệp nào có liên quan không? Chúng tôi hiện có bộ git để loại trừ các tệp trong thư mục .idea, tôi muốn sửa đổi cài đặt git của mình để không loại trừ các tệp kiểu mã.
emmby

1
đối với tôi, đó là .idea / projectCodeStyle.xml
emmby

7
Điều này dường như không hợp lệ với IntelliJ 13. Cuối cùng tôi đã tìm thấy cài đặt kiểu mã cá nhân của mình được lưu trữ trong ~/.IntelliJIdea13/config/codestylesđó, không dễ tìm. Nhưng xuất khẩu chúng cho dự án không tạo ra bất kỳ.idea thư mục trong dự án. Chắc chắn sẽ rất tuyệt nếu chỉ có tùy chọn "xuất" hoặc "Lưu dưới dạng" đơn giản trong giao diện người dùng.
Lambart

4
Trên Max OS X và IntelliJ 13, vị trí tập tin mã phong cách là: ~/Library/Preferences/IntelliJIdea13/codestyles/. Thư mục Library thường bị ẩn khi sử dụng Finder, vì vậy hãy sử dụng CMD + SHIFT + G (hoặc dòng lệnh).
jlr

1
Câu trả lời này vẫn có liên quan nhưng liên kết đầu tiên đã thay đổi: jetbrains.com/help/idea/settings-code-style.html
Simon Tower

12

Các Cài đặt Repository tính năng đã được giới thiệu tại IntelliJ IDEA 2016 .

Tùy chọn này giúp chúng tôi chia sẻ cài đặt IDE giữa các máy tính khác nhau, bao gồm cả cài đặt chia sẻ giữa các nhà phát triển.

Các cài đặt được lưu trữ tại kho lưu trữ Git, ví dụ trên GitHub hoặc Bitbucket.

Để thiết lập kho lưu trữ Git, chúng ta nên đặt URL thông qua tùy chọn menu Cài đặt Kho lưu trữ .

Cài đặt cuộc gọi

Nhà phát triển có thể tải cài đặt từ xa, ghi đè cài đặt từ xa hoặc hợp nhất cài đặt cục bộ với cài đặt từ xa.

Đặt url và chọn hành động

Cấu trúc của kho lưu trữ Git với các cài đặt:

Cấu trúc kho lưu trữ Git

Tôi đã sử dụng mã thông báo truy cập cá nhân để xác thực GitHub.


Thêm thông tin:


5
Nhóm của tôi đã tìm hiểu về tính năng này gần đây. Tôi cảm thấy khó sử dụng vì nó chia sẻ tất cả các cài đặt như kiểu mã nhưng cũng phối màu chắc chắn không giống nhau trong nhóm. Có cách nào để định cấu hình danh sách các tệp cài đặt mong muốn trong khi loại trừ các tệp khác không?
JJD

0

Tôi đã biết điều này rất lâu sau khi thực tế, nhưng nghĩ rằng tôi sẽ chia sẻ nếu có ai gặp phải điều này. Thêm phần sau vào .gitignore của bạn

# IDE - IntelliJ
/.idea/*
# Keep the code styles.
!/.idea/codeStyles
/.idea/codeStyles/*
!/.idea/codeStyles/Project.xml
!/.idea/codeStyles/codeStyleConfig.xml
# Keep the inspection levels
!/.idea/inspectionProfiles
/.idea/inspectionProfiles/*
!/.idea/inspectionProfiles/Project_Default.xml

Và tất nhiên, hãy đảm bảo rằng .gitignore của bạn cũng có một! trước nó để những thay đổi này được tiếp nhận.

Về cơ bản, cách nhìn đệ quy của gitignore hơi khó hiểu, vì vậy phần bên dưới bỏ qua nội dung của thư mục, ngoại trừ thư mục con, sau đó bỏ qua nội dung của thư mục con đó, ngoại trừ các tệp chúng ta muốn.

codeStyleConfig cho phép bạn sử dụng theo cài đặt dự án, bản thân tệp dự án là các kiểu mã thực tế của bạn và tôi đã bao gồm Project_Default vì nó chứa các mức cảnh báo, mà bạn có thể muốn nếu bạn vẫn thực hiện kiểu mã.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.