tôi đang theo hướng dẫn AKKA-in-action và trong chương 2, có một lớp (https://github.com/RayRoestenburg/akka-in-action/blob/master/chapter2/src/main/scala/com/goticks/RestInterface.scala):IntelliJ giữ loại bỏ việc nhập khẩu context.dispatcher từ AKKA hướng dẫn
trait RestApi extends HttpService with ActorLogging { actor: Actor =>
import context.dispatcher
import com.goticks.TicketProtocol._
...
Các import context.dispatcher
không bao giờ được sử dụng , nhưng nó được định nghĩa với một lời nhận xét:
/**
* Returns the dispatcher (MessageDispatcher) that is used for this Actor.
* Importing this member will place an implicit ExecutionContext in scope.
*/
implicit def dispatcher: ExecutionContextExecutor
Tuy nhiên, IntelliJ tiếp tục đánh dấu việc nhập khẩu là "không sử dụng" và loại bỏ nó khi "tối ưu hóa nhập khẩu" gây ra một lỗi value pipeTo is not a member of scala.concurrent.Future[Any]
.
Có cách nào để nói với IntelliJ rằng việc nhập này không nhằm mục đích "được sử dụng", mà chỉ đơn giản là cung cấp ngữ cảnh?
Hoặc hướng dẫn nên được cập nhật để không sử dụng "nhập không sử dụng" như vậy?
Chức năng "tối ưu hóa nhập" của Intellij là lỗi. Tôi có xu hướng tắt loại bỏ nhập khẩu không sử dụng trong các thiết lập và chỉ sử dụng nó để thêm nhập khẩu mới. – lmm
Bản sao có thể có của [Cách ngăn IntelliJ IDEA xóa các gói không sử dụng?] (Http://stackoverflow.com/questions/11154912/how-to-prevent-intellij-idea-from-deleting-unused-packages) – jopasserat
Không. Nó không phải là về việc vô hiệu hóa việc xóa tất cả các gói nhập khẩu không sử dụng, nhưng về việc vô hiệu hóa việc xóa các mục nhập được "sử dụng", nhưng IDEA cho rằng chúng là "không được sử dụng". – mirelon