Phpstorm nhập tệp xml kiểu mã

Kể từ tháng 2 năm 2018, Hướng dẫn kiểu Java DSpace bên dưới được thi hành trên tất cả các Yêu cầu kéo tới nhánh "chính". Do đó, nếu Yêu cầu kéo tới nhánh "chính" không phù hợp với Hướng dẫn về kiểu dáng bên dưới, nó sẽ không thực hiện được quy trình xây dựng trong GitHub CI của chúng tôi

  1. Thụt lề 4 khoảng trắng cho Java và thụt lề 2 khoảng trắng cho XML. KHÔNG CÓ TAB ĐƯỢC PHÉP
  2. Yêu cầu niềng răng kiểu K&R. Niềng răng được yêu cầu trên tất cả các khối

    if (code) {
      // code
    } else {
      // code
    }

  3. Độ dài dòng tối đa là 120 ký tự (ngoại trừ URL dài, gói hoặc nội dung nhập)

  4. Không cho phép khoảng trắng ở cuối (ngoại trừ trong nhận xét)
  5. Không sử dụng nhập ký tự đại diện (e. g.
    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }
    0). Nhập khẩu trùng lặp hoặc không sử dụng không được phép
  6. Viết Javadocs cho các phương thức và lớp công khai. Giữ nó ngắn gọn và đi thẳng vào vấn đề
    1. Các thẻ Javadoc 
      // This is NOT valid. Whitespace around tokens is missing
      String []={"one","two","three"}
      
      // This is valid. Whitespace exists around all tokens
      String [] = { "one", "two", "three" }
      1 là tùy chọn, nhưng phải đề cập đến tên hoặc tên của một cá nhân (e. g. tên người dùng GitHub) khi được bao gồm
  7. Mã thông báo nên được bao quanh bởi khoảng trắng, e. g.  

    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }

  8. Mỗi dòng mã chỉ có thể bao gồm một câu lệnh. Điều này cũng có nghĩa là mỗi khai báo biến phải nằm trên một dòng riêng của nó, e. g

    // This is NOT valid. Three variables are declared on one line
    String first = "", second = "", third = "";
    
    // This is valid. Each statement is on its own line
    String first = "";
    String second = "";
    String third = "";

  9. Không có khối "bắt" trống nào trong thử/bắt. Khối "bắt" tối thiểu phải bao gồm nhận xét về lý do tại sao khối bắt trống, e. g.  

    try {
      // some code ..
    } catch (Exception e) {
      // ignore, this exception is not important
    }

  10. Tất cả các câu lệnh "chuyển đổi" phải bao gồm mệnh đề "mặc định". Ngoài ra, mỗi mệnh đề trong một công tắc phải bao gồm "ngắt", "quay lại", "ném" hoặc "tiếp tục" (không cho phép rơi qua), e. g

    // This is NOT valid. Switch doesn't include a "default" and is missing a "break" in first "case"
    switch (myVal) {
      case "one":
         // do something
      case "two":
         // do something else
         break;
    }
    
    // This is valid. Switch has all necessary breaks and includes a "default" clause
    switch (myVal) {
      case "one":
         // do something
         break;
      case "two":
         // do something else
         break;
      default:
         // do nothing
         break;
    }

  11. Bất kỳ lớp "tiện ích" nào (lớp tiện ích là lớp chỉ bao gồm các phương thức hoặc biến tĩnh) phải có giá trị không công khai (i. e. các hàm tạo riêng tư hoặc được bảo vệ), e. g

    // This is an example class of static constants
    public class Constants {
       public static final String DEFAULT_ENCODING = "UTF-8";
       public static final String ANOTHER_CONSTANT = "Some value";
    
       // As this is a utility class, it MUST have a constructor that is non-public.
       private Constants() { }
    }

  12. Mỗi tệp nguồn phải chứa tiêu đề giấy phép DSpace bắt buộc, e. g

    ________số 8_______

Tài nguyên

Hỗ trợ IDE

Hầu hết các IDE chính bao gồm các plugin hỗ trợ cấu hình Checkstyle. Plugin thường cho phép bạn nhập một "kiểu kiểm tra" hiện có. xml" để định cấu hình IDE của bạn sử dụng và/hoặc xác thực theo kiểu đó

Ý TƯỞNG IntelliJ

(Các hướng dẫn này dựa trên IntelliJ 2021. 2. 3. Chúng nên áp dụng cho các phiên bản gần đây khác, nhưng một số menu hoặc cài đặt có thể đã thay đổi. )

  • Cài đặt plugin kiểu kiểm tra IntelliJ IDEA. https. //bổ sung. phản lực. com/plugin/1065-checkstyle-idea
    • Tệp →  Cài đặt →  Plugin
    • Khởi động lại IDE
  • Định cấu hình để sử dụng tùy chỉnh của chúng tôi 
    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }
    2
    • Tệp →  Cài đặt → Công cụ → Kiểu kiểm tra
      • Trong các phiên bản cũ hơn của IntelliJ, menu này có thể nằm trong Tệp → Cài đặt → Cài đặt khác → Kiểu kiểm tra
    • Đảm bảo chọn phiên bản Kiểu kiểm tra tương thích với phiên bản chúng tôi sử dụng trong POM gốc của chúng tôi. Tìm phiên bản trong thẻ này trong POM đó

          com.puppycrawl.tools
          checkstyle
          8.30
      

    • Thêm "Tệp cấu hình" (nhấn phím 
      // This is NOT valid. Whitespace around tokens is missing
      String []={"one","two","three"}
      
      // This is valid. Whitespace exists around all tokens
      String [] = { "one", "two", "three" }
      3 trong bảng). Chọn 
      // This is NOT valid. Whitespace around tokens is missing
      String []={"one","two","three"}
      
      // This is valid. Whitespace exists around all tokens
      String [] = { "one", "two", "three" }
      4 của chúng tôi
    • Làm cho nó "Hoạt động"
    • Nhấp vào Áp dụng
  • Cập nhật Kiểu mã của IDEA để tuân thủ Quy tắc kiểu kiểm tra (Xem thêm https. // stackoverflow. com/a/35273850/3750035)
    • Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã
    • Nhấp vào biểu tượng bánh răng nhỏ bên cạnh "Lược đồ", Chọn "Nhập lược đồ" → Cấu hình CheckStyle
    • Chọn 
      // This is NOT valid. Whitespace around tokens is missing
      String []={"one","two","three"}
      
      // This is valid. Whitespace exists around all tokens
      String [] = { "one", "two", "three" }
      4 của chúng tôi
    • Nhấp vào OK
    • Nhấp vào Áp dụng
  • Sau khi nhập cài đặt Kiểu kiểm tra, "Hồ sơ bản quyền" của bạn có thể được đặt lại (nếu bạn đã định cấu hình chúng trước đó). Nếu bạn muốn IntelliJ tự động thêm tuyên bố/giấy phép bản quyền ở đầu mỗi lớp Java, bạn nên đảm bảo điều này được (tái) định cấu hình
    • Tệp → Cài đặt → Trình chỉnh sửa → Bản quyền
    • Thêm hồ sơ Bản quyền. Nếu bạn muốn sử dụng tuyên bố bản quyền/giấy phép DSpace, văn bản của nó có sẵn trong tệp LICENSE_HEADER trong cơ sở mã (hoặc xem Hướng dẫn về kiểu mã ở trên)
    • Chọn cấu hình từ danh sách và điều chỉnh định dạng (bỏ chọn tùy chọn "Thêm dòng trống sau")
  • Theo tùy chọn, bạn cũng có thể muốn thay đổi một số cài đặt IntelliJ mặc định, để cho phép IDE tự động định dạng lại mã cho bạn (khi thực hiện chỉnh sửa hàng loạt). Điều này đặc biệt quan trọng nếu bạn định thực hiện bất kỳ mã hiện có nào bằng công cụ IntelliJ
    • Trước tiên, hãy sửa các câu lệnh nhập đơn đặt hàng mặc định theo quy tắc CheckStyle của chúng tôi (các câu lệnh này dường như không được plugin Checkstyle tự động cập nhật tại thời điểm này)
      • Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã → Java → Nhập
      • Trong phần "Nhập bố cục", đảm bảo cài đặt theo thứ tự này
        • "nhập tĩnh tất cả các lần nhập khác"
        • "nhập java. *"
        • "nhập javax. *"
        • "nhập tất cả các hàng nhập khác"
      • Sau khi sắp xếp lại, bấm OK
    • Sau đó, cập nhật các dòng tự động ngắt dòng ở lề phải
      • Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã → Java → Gói và dấu ngoặc
      • KIỂM TRA "Đảm bảo không vượt quá lề phải"
      • Nhấp vào OK
    • Sau đó, TÙY CHỌN, để định dạng lại số lượng lớn trông đẹp hơn (i. e. dẫn đến mã dễ đọc hơn), bạn có thể muốn điều chỉnh loại câu lệnh nào được đặt thành "Gói nếu dài"
      • (GHI CHÚ. Nếu không có các cài đặt này, tùy chọn "Mã định dạng lại" hàng loạt của IDEA đôi khi sẽ tạo ngắt dòng ở bất cứ nơi nào dòng kết thúc, điều này có thể dẫn đến mã trông hơi kỳ lạ. Các cài đặt này dọn sạch một số dòng bao bọc kỳ lạ hơn có thể xảy ra. )
      • Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã → Java → Gói và dấu ngoặc
      • Tùy chọn, đặt tất cả các tùy chọn sau thành "Gói nếu dài"
        • Danh sách mở rộng/triển khai (đồng thời kiểm tra "căn chỉnh khi nhiều dòng")
        • Mở rộng/triển khai từ khóa
        • danh sách ném
        • Ném từ khóa
        • Tham số khai báo phương thức (đồng thời kiểm tra "căn chỉnh khi đa dòng")
        • Đối số gọi phương thức (đồng thời kiểm tra "căn chỉnh khi nhiều dòng")
        • Các cuộc gọi phương thức theo chuỗi (đồng thời kiểm tra "căn chỉnh khi nhiều dòng")
        • câu lệnh "for()" (đồng thời kiểm tra "căn chỉnh khi nhiều dòng")
        • "thử tài nguyên" (cũng kiểm tra "căn chỉnh khi nhiều dòng")
      • Nhấp vào OK
    • Cuối cùng, hãy cập nhật cài đặt Javadoc của IDEA để không chèn "

      " trên các dòng Javadoc trống (vì điều này dường như khiến IDEA thay đổi không đúng tất cả các tiêu đề giấy phép DSpace của chúng tôi trong quá trình chỉnh sửa hàng loạt)

      • Tệp → Cài đặt → Trình chỉnh sửa → Kiểu mã → Java → JavaDoc
      • BỎ CHỌN "Tạo

        trên các dòng trống"

      • Đảm bảo "Giữ dòng trống" được chọn
      • Nhấp vào OK
nhật thực

Các hướng dẫn này đã được tạo bằng cách sử dụng Eclipse Neon. Ghi chú. Eclipse Che (Codenvy) dường như không hỗ trợ kiểu kiểm tra

  • Sử dụng plugin Kiểu kiểm tra Eclipse.  
    • Lưu ý rằng bạn có thể kéo plugin vào bản cài đặt Eclipse của mình
  • Nhấp chuột phải vào dự án DSpace của bạn;
  • Chuyển đến "Kiểu kiểm tra → Cấu hình kiểm tra cục bộ" và nhấp vào "Mới"
    • Tạo một "Cấu hình tương đối của dự án"
    • Tên. Nội bộ DSpace
    • Vị trí. kiểu kiểm tra. xml
  • Hộp "Lỗi thuộc tính chưa được giải quyết" sẽ xuất hiện;
    • Thêm một thuộc tính mới
      • Tên. kiểu kiểm tra. đàn áp. tập tin
      • Giá trị. đường dẫn đầy đủ đến checkstyle-suppressions. xml
    • Nhấp vào OK
  • Chuyển đến "Kiểu kiểm tra → Chính"
    • Chọn "DSpace Internal" từ trình đơn thả xuống
    • Kiểm tra "Checkstyle hoạt động cho dự án này"
    • Nhấp vào OK
  • Mã sẽ được xây dựng lại
  • Chỉnh sửa tệp java. Đặt một dấu ngoặc nhọn trên một dòng
    • Dòng mã sẽ được đánh dấu bằng màu đỏ

Đã thử nghiệm và hoạt động để xác thực mã. Để định dạng, bạn phải tạo kiểu trình định dạng theo các bước tại đây. Dường như không thể buộc nhật thực sử dụng dấu ngoặc nhọn trên câu lệnh if một dòng

(Vui lòng giúp chúng tôi cải thiện các hướng dẫn này để cung cấp cấu hình từng bước cho Eclipse)

NetBeans

Các hướng dẫn này đã hoạt động cho NetBeans 8. 2

  • Tải xuống plugin Kiểu kiểm tra NetBeans. http. //bổ sung. hạt đậu. org/plugin/3413/checkstyle-bean
    • Chuyển đến "Công cụ → Plugin  → Đã tải xuống → Thêm plugin. "
      • Thêm plugin đã tải xuống và cài đặt nó. Bạn sẽ phải khởi động lại NetBeans
  • Chuyển đến "Công cụ → Tùy chọn → Khác → Kiểu kiểm tra"

Plugin vẫn hoạt động trong Apache NetBeans 12. 6. Nó có thể được lấy tại https. //www. cậu bé ốm yếu. cz/checkstyle/tải xuống. html. Các hướng dẫn ở trên vẫn hoạt động

VSCode

Các hướng dẫn này dành cho VSCode phiên bản 1. 63. 2

  • Mở bảng Tiện ích mở rộng. Tìm kiếm và cài đặt tiện ích mở rộng
    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }
    6 của ShengChen. Thực hiện theo các tài liệu cấu hình cho plugin. Các bộ phận quan trọng là. đặt tệp cấu hình, bằng cách nhấp chuột phải vào tệp _______1_______4 và chọn 
    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }
    8. Bạn sẽ cần sử dụng lệnh 
    // This is NOT valid. Whitespace around tokens is missing
    String []={"one","two","three"}
    
    // This is valid. Whitespace exists around all tokens
    String [] = { "one", "two", "three" }
    9 (Trợ giúp>Hiển thị tất cả các lệnh hoặc nhấn F1 trên bàn phím của bạn) để đặt phiên bản Kiểu kiểm tra thành
    // This is NOT valid. Three variables are declared on one line
    String first = "", second = "", third = "";
    
    // This is valid. Each statement is on its own line
    String first = "";
    String second = "";
    String third = "";
    0 theo cách thủ công. Tiện ích mở rộng sẽ tự động tải xuống tệp jar kiểu kiểm tra cần thiết nếu cần. Các phiên bản khác của Checkstyle jar được biết là không hoạt động (8. 18 và 9. 2. 1 kể từ khi viết bài này, tất cả các lỗi hiện đang ném). Các DSpace pom. xml, chúng ta nên sử dụng phiên bản đó trong VSCode
  • Bạn sẽ cần khởi động lại VSCode sau khi thêm phần mở rộng Checkstyle cho Java
  • Bạn sẽ muốn sửa đổi cài đặt cho Java → Hoàn thành. Đơn đặt hàng nhập khẩu (trong tệp
    // This is NOT valid. Three variables are declared on one line
    String first = "", second = "", third = "";
    
    // This is valid. Each statement is on its own line
    String first = "";
    String second = "";
    String third = "";
    1 cho VScode). thêm phần này vào tệp
    // This is NOT valid. Three variables are declared on one line
    String first = "", second = "", third = "";
    
    // This is valid. Each statement is on its own line
    String first = "";
    String second = "";
    String third = "";
    1 của bạn.  

    // This is NOT valid. Three variables are declared on one line
    String first = "", second = "", third = "";
    
    // This is valid. Each statement is on its own line
    String first = "";
    String second = "";
    String third = "";
    3

  • Bất cứ khi nào bạn chọn một tùy chọn để "sắp xếp nhập", VSCode sẽ thêm không chính xác một dòng trống vào khối nhập của bạn, trong đó cấu hình kiểu kiểm tra của chúng tôi cho biết không nên. Plugin kiểu kiểm tra sẽ cảnh báo bạn về sự thật này và bạn có thể xóa nó theo cách thủ công. Thật không may, VSCode hiện không hỗ trợ chỉ định chính xác thứ tự nhập khẩu trong java. hoàn thành. importOrder mà chúng tôi yêu cầu. Nhưng điều này là đủ gần

Kiểm tra kiểu mã từ dòng lệnh

Nếu bạn không sử dụng một trong các IDE trên để viết mã, bạn luôn có thể xác minh mã của mình từ dòng lệnh bằng lệnh Maven sau. Lệnh này có thể được chạy từ thư mục nguồn gốc ([dspace-source]) để kiểm tra tất cả mã nguồn hoặc từ bên trong một mô-đun riêng lẻ (e. g. [dspace-source]/dspace-api/) để chỉ kiểm tra mô-đun đó

# If the below checkstyle:check command complains about missing SNAPSHOT dependencies, then you may need to first run:
# mvn install

# This checks the code style of all source code under the current directory
# It also ensures all source code has the required license header.
mvn -U checkstyle:check license:check

Sửa mã / PR hiện có

Sử dụng IntelliJ để thực hiện dọn dẹp hàng loạt
  • Trước tiên, bạn PHẢI tuân theo tất cả các cấu hình trong phần trên. Đặc biệt chú ý đến các cài đặt được đánh dấu là tùy chọn, trừ khi bạn đang thực hiện chỉnh sửa hàng loạt. Vì bạn muốn thực hiện chỉnh sửa hàng loạt, các cài đặt đó hiện được yêu cầu
  • Bây giờ hãy mở bất kỳ tệp nguồn Java nào. Bạn sẽ thấy các cảnh báo Kiểu kiểm tra xuất hiện (nếu có) bằng màu ĐỎ
    • Đánh dấu này được bật thông qua plugin kiểu kiểm tra
  • Định dạng lại hàng loạt (toàn bộ mô-đun). Bạn cũng có thể định dạng lại mã hàng loạt trong IDEA.  
    • Nhấp chuột phải vào một thư mục/mô-đun
    • Chọn "Mã định dạng lại"
      • Chọn "Tối ưu hóa quá trình nhập"  (Thao tác này sẽ xóa mọi câu lệnh nhập có dấu hoa thị)
      • Bỏ chọn "Sắp xếp lại các mục" (Điều này sẽ sắp xếp lại các phương thức/biến dựa trên cài đặt sắp xếp trong IDEA. Chúng tôi không cần cái này)
      • Trong phần "Bộ lọc" → Chọn "Mặt nạ tệp" và nhập "
        // This is NOT valid. Three variables are declared on one line
        String first = "", second = "", third = "";
        
        // This is valid. Each statement is on its own line
        String first = "";
        String second = "";
        String third = "";
        4"  (Vì chúng tôi sẽ chỉ định dạng lại hàng loạt tệp Java và XML)
      • Nhấp vào Chạy
  • Cuối cùng, chạy Checkstyle đối với mô-đun. Có khả năng vẫn còn một số lỗi cần khắc phục thủ công

    # mvn install  (Only necessary if checkstyle:check below complains about missing SNAPSHOT dependencies)
    mvn -U checkstyle:check

  • Ngoài ra, hãy kiểm tra kỹ các tiêu đề giấy phép vẫn chính xác. Đôi khi những thứ này bị "nhập" trong quá trình định dạng lại hàng loạt (vì IDEA thỉnh thoảng cố gắng hợp nhất các nhận xét gần đó thành một nhận xét lớn hơn)

Hướng dẫn Phong cách Java DSpace cũ (dành cho phiên bản 6. x trở về trước)

Theo trang Nguyên tắc đóng góp mã (xem phần "Quy ước viết mã"), hướng dẫn về phong cách hiện có của chúng tôi được liệt kê như sau

Mã của bạn cần tuân theo các quy ước về mã Sun Java với các sửa đổi nhỏ sau đây

  • dấu ngoặc nhọn phải trên dòng mới
  • Các tệp nguồn phải có bản sao thông báo Duraspace về bản quyền và giấy phép BSD ở trên cùng (xem bên dưới). Cũng hãy nhìn vào
  • Bạn phải sử dụng bảng 4 dấu cách
  • 'else' phải ở trên một dòng mới. 'else if' nằm trên một dòng
  • Người dùng IDE Eclipse có thể yêu cầu nhật thực thực hiện định dạng tự động bằng cách sử dụng cấu hình này. - Dspace-eclipse-format. xml. Xem phần Eclipse bên dưới để biết chi tiết về cách áp dụng hồ sơ này

Mã của bạn phải được nhận xét tốt bằng Javadoc (bao gồm tổng quan về gói và lớp). Tất cả các đóng góp mã phải đi kèm với Tài liệu. Ở mức tối thiểu, điều này phải bao gồm Tài liệu kỹ thuật bao gồm tất cả các tùy chọn cấu hình và/hoặc thiết lập. Xem dưới đây để biết thêm chi tiết

Các nguyên tắc kiểu cũ này chủ yếu dựa trên các quy ước mã hóa của Mặt trời (khoảng năm 1999) không còn được duy trì nhưng vẫn có tại http. //www. tiên tri. com/technetwork/java/javase/tài liệu/codeconvtoc-136057. html

Vì hướng dẫn phong cách Java của Sun không còn được duy trì, nên nó sẽ không theo kịp các tính năng, thực tiễn tốt nhất của phong cách Java hiện tại, v.v.   

Năm 2018, chúng tôi quyết định cập nhật hướng dẫn của mình dựa trên / lấy cảm hứng từ hai hướng dẫn này

Hướng dẫn kiểu góc/bản ghi DSpace (dành cho DSpace 7. x trở lên)

DSpace TypeScript Style Guide được thực thi trên nhánh "chính"

DSpace Typescript Style Guide được thực thi trên tất cả các Yêu cầu kéo tới nhánh "chính". Do đó, nếu Yêu cầu kéo tới nhánh "chính" không phù hợp với Hướng dẫn về kiểu dáng bên dưới, nó sẽ không thực hiện được quy trình xây dựng trong GitHub CI của chúng tôi

Đối với Giao diện người dùng góc DSpace (được viết bằng TypeScript), chúng tôi sử dụng TSLint để xác thực kiểu của tất cả TypeScript (*. tập tin ts)

Làm cách nào để áp dụng kiểu mã trong PHPStorm?

Áp dụng kiểu mã được xác định trước . Kiểu mã Press Ctrl+Alt+S to open the IDE settings and select Editor | Code Style . Để định cấu hình sơ đồ cho các dự án mới, hãy chuyển đến Tệp. Thiết lập dự án mới. Cài đặt cho Dự án mới. biên tập viên. Kiểu mã. Chọn ngôn ngữ mà bạn muốn định cấu hình kiểu mã.

Làm cách nào để nhập XML kiểu mã hóa trong IntelliJ?

Nhập lược đồ . Nhấn Ctrl+Alt+S để mở cài đặt IDE và chọn Trình chỉnh sửa. Kiểu mã. và chọn Lược đồ nhập. Sau đó chọn định dạng cần thiết.

Làm cách nào để tạo tệp XML trong PHPStorm?

Nhấn Alt+Enter. Nếu có nhiều lựa chọn, hãy chọn không gian tên mong muốn từ danh sách
Ngoài ra, hãy di con trỏ chuột qua sự cố và nhấp vào Tạo khai báo không gian tên trong cửa sổ bật lên mở ra. Nếu có nhiều lựa chọn, hãy chọn không gian tên mong muốn từ danh sách

Làm cách nào để làm đẹp XML trong IntelliJ?

Hoặc mở tệp của bạn trong trình chỉnh sửa và nhấn Ctrl+Alt+Shift+L hoặc trong cửa sổ Công cụ dự án, nhấp chuột phải vào tệp và chọn Mã định dạng lại.