2013-10-25 19 views
6

Tôi hiện đang cung cấp cho plugin IntelliJ Scala một vòng quay và một điều đang làm tôi khó chịu. Tôi nhận được 3 cảnh báo khi biên dịch.Cảnh báo Scala, IntelliJ và cờ biên dịch

Warning: scala: Recompiling 4 files 
Warning: scala: 
Warning: scala: there were 1 deprecation warnings; re-run with -deprecation for details 

Tại sao tôi cảnh báo rằng tệp đang được biên dịch lại? Điều đó có thể được tắt? Và cuối cùng, cảnh báo trống là gì? : D

+1

Bạn đang sử dụng plugin Scala nào? Tôi đang sử dụng trang này http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA. Bạn có thể thêm tùy chọn trình biên dịch theo cách này: mở "Cấu trúc dự án" -> chọn "Các khía cạnh" -> chọn "Scala/Scala" -> thay đổi "Tùy chọn trình biên dịch bổ sung". Và nó cũng không in những lời cảnh báo vô nghĩa. – longhua

Trả lời

20

Trong IntelliJ 14:

  1. Mang lập các tùy chọn Intellij IDEA > Preferences hoặc cmd + ,
  2. Tra cứu Scala Compiler. Ngoài ra, nó dưới Build, Execution, Deployment > Compiler > Scala Compiler
  3. Kiểm tra các tùy chọn cho Deprecation warnings

Rebuild dự án của bạn!

Screenshot of preferences to enable deprecation flag.

+0

Trong Linux, biểu mẫu này nằm trong Tệp> Cài đặt khác> Cài đặt mặc định – CPS

5

Tham số JVM - trước tiên được sử dụng để thực sự chạy mã của bạn, sau này được sử dụng để biên dịch mã đó sang bytecode. Bạn cần phải mở các thiết lập dự án và điều chỉnh tùy chọn có:

enter image description here

+3

Giải pháp này đã lỗi thời vì Intellij 14. Không còn mặt Scala nữa. – seanmcl

+2

Vị trí mới nằm trong câu trả lời của [katfang] (http://stackoverflow.com/a/27932678/27358). –

+0

@JustDanyul, hãy chấp nhận câu trả lời của katfang thay vì câu trả lời này –

6

Tôi muốn nói thêm vài lời về cảnh báo và lỗi được báo cáo bởi IntelliJ IDEA.

JetBrains sử dụng máy phân tích scala riêng của nó để xác định và báo cáo lỗi. Đôi khi nó báo cáo lỗi giả hoặc cảnh báo. Tôi nghĩ rằng điều này là bởi vì scala là ngôn ngữ phức tạp hơn nhiều từ các trình biên dịch quan điểm sau đó nhiều ngôn ngữ khác. Ngay cả khi tất cả các đặc điểm kỹ thuật scala chính thức đã được thực hiện, có một số trường hợp đã bị bỏ qua (đọc: Luôn có một số lỗi). Nếu bạn tìm thấy một cái gì đó được báo cáo là lỗi/cảnh báo bởi IntelliJ IDEa của bạn mà là ok cho trình biên dịch scalac bạn luôn có thể cố gắng báo cáo nó như là một lỗi (IntelliJ IDEa hỗ trợ báo cáo lỗi). Những người từ JetBrains sẽ sửa chữa nó.

Hơn một số thư viện scala sử dụng macro là các trình biên dịch cho phép thêm một số hành vi trình biên dịch bổ sung. Nếu IDE đã biết đặc điểm kỹ thuật của họ, nó sẽ không xác định các mã không chuẩn này là lỗi. Tốt hơn là nên biết điều đó. Tôi nghĩ rằng cùng một IDE Eclipse scala.

Tóm tắt tất cả trên: Đừng tin tất cả các cảnh báo và lỗi rằng IntelliJ hay IDE khác đang nói với bạn trừ khi nó biên dịch cũng sử dụng scalac.

Các vấn đề liên quan