- Cửa sổ quan trọng nhất sau trình chỉnh sửa là cửa sổ dự án. Đây là nơi bạn quản lý các tệp và thư mục dự án của mình nhưng cũng là nơi bạn có thể xem cấu trúc của dự án được chia nhỏ theo nhiều cách khác nhau. Như tôi đã mô tả trước đây, tiêu đề cửa sổ dự án có một danh sách được gọi là Phạm vi. Phạm vi mặc định được gọi là phạm vi Dự án và nó hiển thị các tệp và thư mục của bạn trong một cây chính xác như chúng được lưu trữ trong hệ thống tệp của bạn. Tuy nhiên, các phạm vi khác, lọc và sắp xếp lại các tệp và thư mục khi cần. Ví dụ: phạm vi Gói, chỉ hiển thị cho bạn các lớp của bạn và chúng được sắp xếp theo gói. Bạn có thể thay đổi cách hiển thị các gói của mình. Theo mặc định, các gói trống được nén, làm phẳng, do đó bạn chỉ thấy ghi chú dạng cây cho các gói thực sự có thứ gì đó bên trong. Bạn có thể thay đổi hành vi này bằng cách nhấp vào biểu tượng cài đặt, đó là biểu tượng bánh răng và bỏ chọn, Ẩn các gói trống ở giữa. Và bây giờ bạn sẽ thấy tất cả các gói, ngay cả khi chúng trống. Để quay lại chế độ xem nén, hãy quay lại menu và chọn lại mục đó. Phạm vi Tệp dự án, lọc các tệp của bạn để bạn chỉ nhìn thấy các tệp mã nguồn của mình và sau đó là mọi thứ liên quan đến việc quản lý dự án. Bạn sẽ thấy tệp iml, đây là tệp quản lý dự án. Và thư mục ý tưởng, cũng chứa một số tệp cấu hình. Phạm vi Sự cố không hiển thị bất kỳ tệp và thư mục thực tế nào miễn là mã của bạn còn nguyên vẹn. Nhưng ngay khi bạn mắc lỗi trong mã của mình, chẳng hạn, tôi sẽ xóa dấu chấm phẩy ở đây, dấu chấm phẩy sẽ xuất hiện trong phạm vi sự cố. Bạn có thể xem chi tiết tệp có vấn đề và khi bạn nhấp đúp vào tệp đó, tệp sẽ tự mở. Tôi sẽ đóng tất cả các tệp của mình và chứng minh điều đó một lần nữa và khi tôi nhấp đúp chuột, tôi sẽ mở lớp học. Bây giờ, hãy để ý, bạn không đi thẳng vào nơi thực sự xảy ra vấn đề. Để làm điều đó, hãy nhấn phím F2 và bạn sẽ chuyển từ cảnh báo hoặc lỗi này sang cảnh báo hoặc lỗi tiếp theo. Tệp này chỉ có một cảnh báo hoặc lỗi, vì vậy tôi chỉ đến một nơi. Tôi sẽ đặt lại dấu chấm phẩy, rồi nhấn lại F2 và tôi thấy thông báo là "Không tìm thấy lỗi nào trong tệp này". Phạm vi sản xuất tương tự như phạm vi Dự án, trong đó, nó hiển thị tổ chức thư mục và tệp thực tế trên đĩa, nhưng nó không hiển thị các thư mục đã tạo, chẳng hạn như thư mục out. Nếu bạn đang thực hiện phát triển theo hướng thử nghiệm, thì có một số phạm vi để thử nghiệm và sau đó có một phạm vi được gọi là Scratches. Đây là nơi bạn sẽ thấy các tệp đầu của mình. Các tệp tạm thời mà bạn có thể tạo, không thực sự là một phần của dự án mà thay vào đó được kết nối với hồ sơ người dùng của bạn. Mình sẽ mô tả chi tiết về các file đầu này trong một video khác. Vì vậy, đó là những phạm vi khác nhau có sẵn trong cửa sổ dự án. Thông thường sử dụng phạm vi Dự án hoặc phạm vi Gói. Phạm vi Gói đặc biệt hữu ích khi bạn đang làm việc trên một ứng dụng hoàn toàn là java và không có bất kỳ tài nguyên nào khác liên quan Show
Hộp thoại này xuất hiện khi bạn cố gắng chỉnh sửa các tệp không thuộc dự án (e. g, nguồn thư viện, nguồn bên ngoài, v.v.) và bảo vệ chúng khỏi những sửa đổi ngẫu nhiên Mục Sự miêu tả Các tệp này không thuộc về dự án Khu vực này hiển thị tệp không thuộc dự án mà bạn đang cố chỉnh sửa Tôi vẫn muốn chỉnh sửa tập tin này Chọn tùy chọn này để vô hiệu hóa bảo vệ cho các tệp được liệt kê Tôi muốn chỉnh sửa tất cả các tập tin trong thư mục này Chọn tùy chọn này để vô hiệu hóa bảo vệ cho các tệp được liệt kê và tất cả các tệp trong cùng một thư mục Tôi muốn chỉnh sửa bất kỳ tệp phi dự án nào trong phiên hiện tại Chọn tùy chọn này để vô hiệu hóa bảo vệ hoàn toàn Tất cả các tùy chọn đều có hiệu lực trong phiên hiện tại, khi IDE được khởi động lại, tính năng bảo vệ sẽ được bật lại Tệp xem dự án ( 2) được sử dụng để nhập một tập hợp con các gói Bazel vào IDE. Chế độ xem dự án xác định quy tắc nào được nhập và cáchTệp xem dự án sử dụng định dạng giống như python với 2 dấu cách thụt lề và # nhận xét. Bạn có thể chia sẻ tệp 2 giữa các dự án, sử dụng bản sao của riêng bạn hoặc cả haiNói chung, bạn có thể bắt đầu chỉ với 4 và 5 và thêm nhiều phần khác nếu bạn muốn tinh chỉnh thêm không gian làm việc IDE của mìnhTạo Chế độ xem dự ánCách dễ nhất là nhập tệp 2 hiện có. Nếu bạn đã mở một dự án khác trong IDE, hành động này có sẵn từ Tệp > Nhập dự án BazelĐể sửa đổi một dự án hiện có, hãy sử dụng Bazel > Dự án > Mở tệp xem dự án. Lưu ý, bạn vẫn có thể sử dụng tính năng nhập của 2 được chia sẻ, sau đó bao gồm các thư mục và mục tiêu bổ sung bên dướiSau khi chỉnh sửa tệp xem dự án, hãy chạy Bazel > Sync > Sync Project with BUILD files để nhận các thay đổi import java/com/google/android/myproject/myproject.bazelproject 4Cần thiết Một danh sách các thư mục để đưa vào dự án của bạn. Tất cả các tệp trong các thư mục nhất định sẽ được lập chỉ mục (cho phép bạn tìm kiếm chúng) và được liệt kê trong cửa sổ công cụ Dự án. Nếu một tệp không được bao gồm trong dự án của bạn, nó sẽ có một tab màu vàng và bạn sẽ thấy một cảnh báo khi cố gắng chỉnh sửa nó Ghi chú. Bao gồm một thư mục chỉ nhập các tệp. Nếu bạn muốn giải quyết nguồn của mình, nó cũng phải có thể truy cập được thông qua một mục tiêu (xem bên dưới) Mỗi mục nhập thư mục phải trỏ đến một thư mục không gian làm việc. Tất cả các tệp trong thư mục được bao gồm trong quá trình nhập. Thư mục luôn đệ quy Nếu bạn muốn loại trừ các thư mục, hãy thêm dấu trừ (“-“) vào đầu mục nhập Ví dụ
import java/com/google/android/myproject/myproject.bazelproject 5Cần thiết Một danh sách các biểu thức mục tiêu bazel. Để giải quyết các tệp nguồn trong thư mục đã nhập, nguồn phải có thể truy cập được từ một trong các mục tiêu của bạn. Bởi vì đây là các biểu thức mục tiêu bazel đầy đủ, chúng hỗ trợ ký hiệu 0Ghi chú. Nhiều tính năng IDE dựa trên thông tin được giải quyết từ các mục tiêu này. Không có chúng, các tệp phụ thuộc và tệp được tạo sẽ không được biết, xuất hiện màu đỏ và không thể tự động hoàn thành. Để tận dụng tối đa IDE của mình, bạn nên đảm bảo ít nhất các tệp bạn đang làm việc tích cực có thể truy cập được từ các mục tiêu của mình và đồng bộ hóa để giải quyết chúng Các mục tiêu được tạo trong quá trình Đồng bộ hóa Bazel, vì vậy bạn càng có nhiều mục tiêu, Đồng bộ hóa Bazel của bạn sẽ càng chậm. Bạn có thể sử dụng các mục tiêu phủ định để bazel bỏ qua các mục tiêu nhất định (ví dụ:. 1). Xem thêm thẻ 2Nếu 3 được đặt, thì thường không cần bao gồm các mục tiêu bên dưới dự án của bạn ở đây, mặc dù bạn có thể muốn sử dụng phần này để loại trừ một số mục tiêu được thêm tự động theo cách thủ côngVí dụ 3workspace_type: java 3Nếu được đặt thành true, các mục tiêu dự án có liên quan sẽ tự động được lấy từ 4 trong khi đồng bộ hóa. Lưu ý rằng bao gồm cả 4 từ tất cả các lần nhập khẩu chuyển tiếpChúng tôi cố gắng giới hạn điều này để chỉ đồng bộ hóa các mục tiêu có liên quan và thực hiện điều này bằng cách lọc theo loại quy tắc, cùng với một tập hợp các phương pháp phỏng đoán. Cụ thể, chúng tôi xem xét tập hợp các mục tiêu trong các thư mục của bạn, theo cách đệ quy (chiếm các thư mục bị loại trừ). Trong số đó, chúng tôi loại bỏ
Bất kỳ mục tiêu nào được bao gồm/loại trừ rõ ràng trong phần 'mục tiêu' đều được ưu tiên. Sau khi các mục tiêu từ tất cả các phần của 4 được dẫn xuất, các phần bao gồm/loại trừ mục tiêu từ tất cả các phần của 5 sẽ được áp dụngNếu bạn nhận thấy bất kỳ mục tiêu nào bị thiếu hoặc thêm vào một cách không cần thiết hoặc có ý tưởng để cải thiện, vui lòng cho chúng tôi biết (Bazel > File a Bug) import java/com/google/android/myproject/myproject.bazelproject 22Nhập một chế độ xem dự án khác Bạn có thể sử dụng nhiều lần nhập trong bất kỳ chế độ xem dự án nào. Bất kỳ phần loại danh sách nào (ví dụ:. 4) soạn. Các phần có giá trị đơn (ví dụ:. 24) ghi đè và sử dụng lệnh cuối cùng gặp phải, thứ tự phân tích độ sâu đầu tiên (i. e. nhập khẩu được đánh giá khi chúng gặp phải)Ví dụ
import java/com/google/android/myproject/myproject.bazelproject 24Sử dụng điều này để chỉ định loại ngôn ngữ bạn muốn hỗ trợ trong dự án. Cài đặt này kiểm soát một số cài đặt cấu trúc dự án toàn cầu như loại SDK mà chúng tôi định cấu hình (ví dụ:. “java” có SDK Java bình thường, nhưng “android” sẽ có SDK Android) Nếu bỏ qua, chúng tôi sử dụng loại không gian làm việc mặc định cho IDE của bạn Cài đặt này thường chỉ cần thiết nếu bạn muốn sử dụng Android Studio cho dự án chỉ có Java (ví dụ:. ) Những giá trị khả thi
Ví dụ
import java/com/google/android/myproject/myproject.bazelproject 26Theo mặc định, chúng tôi nhập các lớp ngôn ngữ được ngụ ý bởi loại không gian làm việc của bạn. Nếu bạn muốn có thêm ngôn ngữ trong không gian làm việc của mình, bạn có thể sử dụng thuộc tính này Những giá trị khả thi
Ví dụ 2import java/com/google/android/myproject/myproject.bazelproject 27Chỉ IntelliJ/Android Studio Sử dụng điều này để ghi đè cấp độ ngôn ngữ được sử dụng bởi IDE. Thông thường, điều này được suy ra từ quy tắc 28 tương ứng có thể truy cập được từ các mục tiêu của bạnVí dụ 2import java/com/google/android/myproject/myproject.bazelproject 29Một danh sách các mẫu toàn cầu liên quan đến không gian làm việc, các thư mục phù hợp. Xác định nguồn nào IntelliJ coi là nguồn thử nghiệm. Điều này chỉ nên được áp dụng cho các thử nghiệm thực tế, không thử nghiệm các lớp tiện ích IntelliJ sử dụng thông tin này theo nhiều cách khác nhau, chẳng hạn như. g. lọc kết quả 20, giải thích chú thích 21, v.v.Ví dụ 6import java/com/google/android/myproject/myproject.bazelproject 22Chỉ đạo plugin tới các yêu cầu xây dựng shard bazel khi đồng bộ hóa và biên dịch dự án của bạn. Các bản dựng Bazel để đồng bộ hóa có thể bị phân đoạn ngay cả khi điều này được đặt thành false, để giữ lệnh bản dựng dưới độ dài lệnh tối đa (ARG_MAX) Điều này hữu ích cho các dự án lớn mà bazel không thể xây dựng toàn bộ dự án với cấp phát bộ nhớ mặc định Nếu bạn gặp lỗi hết bộ nhớ khi chạy đồng bộ hóa bazel, hãy cân nhắc thêm cờ này và thử lại Ví dụ 8import java/com/google/android/myproject/myproject.bazelproject 23Đề xuất số lượng mục tiêu tối đa trong mỗi mảnh xây dựng bazel Chỉ có liên quan khi sharding lời gọi xây dựng bazel. Có thể bị bỏ qua tùy thuộc vào chiến lược sharding được plugin sử dụng Ví dụ 0import java/com/google/android/myproject/myproject.bazelproject 24chỉ IntelliJ Một tập hợp các mẫu hình cầu liên quan đến không gian làm việc khớp với các lọ. Có thể được sử dụng để giải quyết xung đột đường dẫn lớp khi chính sách một phiên bản bị vi phạm. Bạn thường không cần phải sử dụng cái này GHI CHÚ. Bạn có thể loại trừ một thư viện bằng cách nhấp chuột phải vào thư viện đó trong cây dự án và chọn “Loại trừ Thư viện” GHI CHÚ. Thuộc tính này khớp với các lọ trong cây đầu ra, không phải quy tắc Ví dụ 2import java/com/google/android/myproject/myproject.bazelproject 25Một tập hợp các cờ bazel được chuyển tới tất cả các lời gọi lệnh bazel dưới dạng đối số (ví dụ:. khi đồng bộ hóa; Ví dụ 30import java/com/google/android/myproject/myproject.bazelproject 26Một tập hợp các cờ bazel chỉ được chuyển đến các hành động đồng bộ hóa bazel. Không giống như 25, chúng không được sử dụng cho cấu hình chạy, vì vậy chỉ sử dụng 26 khi thực sự cần thiết, vì nó có thể đánh bại bộ nhớ đệm bazelVí dụ 31import java/com/google/android/myproject/myproject.bazelproject 29Một tập hợp các cờ bazel chỉ được chuyển đến các yêu cầu kiểm tra bazel. Những thứ này sẽ không được áp dụng khi đồng bộ hóa, vì vậy hãy sử dụng một cách tiết kiệm, vì nó có thể đánh bại bộ nhớ đệm bazel Ví dụ 32import java/com/google/android/myproject/myproject.bazelproject 60Danh sách các tệp XML sẽ được nhập dưới dạng cấu hình chạy trong quá trình đồng bộ hóa bazel. Theo mặc định, các cấu hình chạy này sẽ được cập nhật trong quá trình đồng bộ hóa để phù hợp với bất kỳ thay đổi nào đối với XML Cấu hình chạy Bazel có thể được xuất sang XML bằng hành động 61. Xem quy trình làm việc đầy đủ để biết thêm chi tiếtVí dụ 33import java/com/google/android/myproject/myproject.bazelproject 62Chỉ định đường dẫn đến một tệp nhị phân Bazel cụ thể sẽ được sử dụng trong dự án này Ví dụ 34import java/com/google/android/myproject/myproject.bazelproject 63Chỉ dành cho Android Studio Selects which android platform from your SDK directory to use. Corresponds to a subdirectory in ~/ Bắt buộc nếu 24 của bạn là “android”. Lưu ý rằng điều này là ẩn nếu bạn đang sử dụng ASwBVí dụ 35import java/com/google/android/myproject/myproject.bazelproject 65Chỉ dành cho Android Studio Đặt mức SDK tối thiểu toàn cầu để sử dụng cho cảnh báo xơ vải trong Android Studio Chúng tôi không thể sử dụng các giá trị 66 từ bảng kê khai vì có thể có nhiều giá trị và chúng tôi chỉ có thể có một giá trị do cách plugin Bazel xử lý các nguồnVí dụ 36import java/com/google/android/myproject/myproject.bazelproject 67Chỉ dành cho Android Studio Danh sách các đường dẫn vào cây genfile chứa các tài nguyên đã tạo mà bạn muốn đưa vào danh sách trắng để đưa vào Theo mặc định, tài nguyên được tạo bị loại bỏ vì lý do hiệu suất. Nếu bạn có quy tắc tạo xml tài nguyên từ đầu, bạn có thể sử dụng quy tắc này để thêm chúng vào chế độ xem dự án Trong quá trình đồng bộ hóa, IDE sẽ cảnh báo bạn về mọi thư mục tài nguyên Android được tạo bị mất. Bạn có thể nhấp đúp vào cảnh báo để tự động thêm mục chính xác vào chế độ xem dự án của mình Vui lòng không sử dụng điều này để thêm các tài nguyên đã được lọc từ các tài nguyên đã đăng ký. IDE sẽ không hoạt động tốt với điều này - nó sẽ chậm hơn và bạn sẽ không thể chỉnh sửa tài nguyên của mình trong IDE vì nó sẽ không hiểu rằng tài nguyên genfiles chỉ đọc của bạn thực sự tương ứng với một số nguồn đã đăng ký khác Ví dụ 37import java/com/google/android/myproject/myproject.bazelproject 68chỉ IntelliJ Chỉ vào các quy tắc mà bạn muốn 69 trong khi đồng bộ hóa để nhận hỗ trợ bản inBắt buộc nếu bạn đã yêu cầu hỗ trợ bản đánh máy trong 26 của mìnhVí dụ 38import java/com/google/android/myproject/myproject.bazelproject 81GHI CHÚ. không dùng nữa. Thay vào đó, hãy sử dụng 68, điều này cho phép chỉ định nhiều mục tiêu 83chỉ IntelliJ Trỏ vào một quy tắc mà bạn muốn 69 trong khi đồng bộ hóa để nhận hỗ trợ bản inVí dụ 39import java/com/google/android/myproject/myproject.bazelproject 85GHI CHÚ. không dùng nữa. Bạn không bao giờ cần sử dụng chỉ thị xem dự án này Buộc nhập đầu ra của một quy tắc cụ thể. Điều này hữu ích nếu bạn có quy tắc trong thư mục nguồn mà bạn muốn nhập dưới dạng lọ thay vì nguồn Xem thêm 86Ví dụ 0import java/com/google/android/myproject/myproject.bazelproject 87GHI CHÚ. không dùng nữa. Ưu tiên thẻ 2Loại bỏ hoàn toàn mục tiêu, bỏ qua các nguồn và đầu ra của nó. Mục tiêu vẫn sẽ được xây dựng và IDE vẫn biết rằng quy tắc của tên này tồn tại Xem thêm 89Ví dụ 1kiểm soát nguồnTệp 2 có thể được kiểm tra trong kiểm soát nguồn. Theo quy ước, chúng nằm cạnh tệp BUILD mà mọi người nhập. Mặc dù nhiều nhóm đặt tên tệp đơn giản là 01, chúng tôi khuyên bạn nên thêm tiền tố như 02 vì Piper xử lý tệp dotfile theo cách khác (quan trọng nhất là nó sẽ không tự động thêm chúng vào CL của bạn)Nếu dự án của bạn có nhiều chế độ xem khác nhau, bạn có thể kiểm tra nhiều tệp có phần mở rộng 01 vào cùng một thư mục. Người dùng có thể chọn nhập bất kỳ một trong số này
Là. thư mục ý tưởng cần thiết?Các. thư mục idea (ẩn trên OS X) trong thư mục gốc của giải pháp chứa các tệp cài đặt dành riêng cho dự án của IntelliJ . Chúng bao gồm các chi tiết cho mỗi dự án như ánh xạ VCS và cấu hình chạy và gỡ lỗi, cũng như các chi tiết cho mỗi người dùng, chẳng hạn như các tệp hiện đang mở, lịch sử điều hướng và cấu hình hiện được chọn.
Các tệp dự án IntelliJ ở đâu?Theo mặc định, IntelliJ IDEA lưu trữ các tệp dành riêng cho người dùng cho từng phiên bản IDE (cấu hình, bộ đệm, plugin, nhật ký, v.v.) trong thư mục chính của người dùng.
Cái gì ở bên trong. thư mục ý tưởng?Các. thư mục idea chứa tập hợp các tệp cấu hình (. xml) cho dự án của bạn . Các tệp cấu hình này chứa thông tin cốt lõi của chính dự án, chẳng hạn như tên và vị trí của các mô-đun thành phần, cài đặt trình biên dịch, v.v.
Tệp IML trong IntelliJ là gì?Một tệp mô-đun (tệp. iml) được dùng để giữ cấu hình mô-đun . Các mô-đun cho phép bạn kết hợp một số công nghệ và khung trong một ứng dụng. Trong IntelliJ IDEA, bạn có thể tạo một số mô-đun cho một dự án và mỗi mô-đun có thể chịu trách nhiệm về khung riêng của mình. |