2017-12-28 4 views
0

내 스칼라 스크립트에서 IntelliJ가 Ammonite 가져 오기를 인식하는 데 문제가 있습니다. 이것은 지침이있는 here으로보고 된 새로운 기능입니다. 지시를 따랐고 IntelliJ에서 새로운 sbt 프로젝트를 시작했지만 시도하지는 않았습니다.IntelliJ가 스칼라 스크립트에서 가져 오기를 인식하도록하는 방법은 무엇입니까?

나는 내가 build.sbt에 지정된 프로젝트의 "외부 라이브러리"에 암몬 종속성을 참조하십시오 libraryDependencies += "com.lihaoyi" %% "ammonite-ops" % "1.0.3" libraryDependencies += "com.lihaoyi" % "ammonite" % "1.0.3" cross CrossVersion.full

(아주 간단) 프로젝트를 성공적으로 구축 할 것으로 보인다. 또한 Scala 워크 시트 파일을 "항상 암모나이트"로 처리하도록 지정했습니다.

이 모든, 아직 IDE 보여줍니다 같은 스크립트 : enter image description here

더 내가이 작업을하려면 어떻게해야합니까?

버전 :

  • 자바 1.8.0
  • 스칼라 2.12.4
  • SBT 1.0.3
  • 인 IntelliJ CE 2017년 3월 2일
  • 인 IntelliJ의 스칼라 플러그인 2017년 3월 11일
+0

내가 알아챈 한 가지는 전이 의존성이 불행히도 범위에 포함되지 않는다는 것입니다. 예를 들어,'circe' 라이브러리를 가져 와서 IntelliJ를 다운로드 한 경우, 여전히'cats' 라이브러리 ('circe'가 의존하는)에 대한 가져 오기를 해결할 수 없습니다. –

답변

3

IntelliJ와 비슷한 문제가있어서 어떻게 작동하게 만들 었는지 알려드립니다.

내 버전 :

  • 인 IntelliJ 궁극적 인 2017년 3월 2일 (당신 그래서 기본적으로 동일한 버전)
  • 인 IntelliJ 스칼라 플러그인 2017년 3월 11일
  • 쿠분투, 키보드 단축키는 다음과 조정해야 할 수 있도록 당신이 가지고있는

지금, 나는 의존성 0.6.7의 업데이트 된 버전으로, 동일한 코드에서 을 시작했다. Staring code

이미 녹색 화살표를 누르면 첫 번째 줄 옆에있는 암모나이트가 실행됩니다. 종속성이 다운로드되고 링크가 표시됩니다. IntelliJ가 새 항아리를 사용할 수 있음을 인식하는 필수 단계 인입니다.

또한이 단계에서 Intellij는 내가 병을 가져올 수있는 정보가 담긴 작은 팝업을 보여줍니다. 을 사용하지 않았습니다.Import $ivy dependencies

내가 + 가 깨진 com.lihaoyi::scalatags:0.6.7 의존성에을표시 의도 작업을 입력하고 항아리에서 라이브러리를 만들기 를 사용Alt 키 ... Create library from jar...

이를 누릅니다 인 IntelliJ는 수입을 인식하게하려면 Intellij가 라이브러리, 가져 오기를 인식하게하고 힌트를 제공 할 수 있습니다. enter image description here

라이브러리는 프로젝트의 의존성 (Ctrl 키 + Alt 키 + 시프트 + )에 추가됩니다. 아래의 다른 파일에서 오는 종속성도 볼 수 있습니다. Project structure with added dependency

+0

당신은 0.6.0을 0.6.7로 변경하는 것을 잊어 버렸습니다 :) 그 버전은 Maven repo에서 누락되었습니다. 또한 jar에서 lib를 생성하기 전에 먼저'amy'가'pom'을 다운로드하도록 스크립트를 실행해야합니다. 플러그인이 작동하는 방식이 아닌 것 같지만, 작동 중입니다! – einnocent

+0

감사합니다. @einnocent, 다음 세대를위한 귀하의 의견에 대한 답변을 업데이트했습니다. –

0

암모나이트와 .sc 파일을 연결해야합니다. 당신 설정에서

, 그것이 내가 또한이 blog post을 다음과 독서 추천이 enter image description here (here에서 가져온 솔루션)

과 같아야합니다 (암몬 스크립트로 스크롤 지원는) 당신이 모든 가지고 있는지 확인하기 필요한 요구 사항

+0

감사하지만 이미 그렇게했습니다. '또한 지정했습니다. 스칼라 워크 시트 파일은 "항상 암모나이트"로 취급되어야합니다. ' 또한, 질문에, 당신이 언급 한 블로그 게시물에 연결되어 있습니다. 또한, 당신이 링크를 솔루션에, 나는 몇 일 전에 코멘트 : – einnocent

관련 문제