Ide scala: Scala IDE for Eclipse
Eclipse Scala IDE β ΠΎΡ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΎΡΠ»Π° ΡΡΠΈβ¦ / Π₯Π°Π±Ρ
Scala β ΡΡΠΎ ΠΈΠ·ΡΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Π»ΡΡ Π³ΠΎΠ΄Π° 4 Π½Π°Π·Π°Π΄. Π―, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π±ΡΠ» Π΅Π³ΠΎ ΡΠ°Π½Π°ΡΠΎΠΌ: ΠΏΠΎΠΊΡΠΏΠ°Π» ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΊΡΡΡΡ Π½Π° Coursera, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π² pet- ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ et cetera, et cetera, et cetera.
Scala ΠΎΡΠΊΡΡΠ» Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Π΅ΡΠ½ΡΠ» Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° ΡΡΡΠ΄Π΅Π½ΡΠ΅ΡΡΠ²Π° ΡΠΎ Β«ΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π² Π²Π°ΠΊΡΡΠΌΠ΅Β» ΠΎΡ Martin’a Oderskyβ¦
ΠΠΎ Π²ΠΎΡ ΠΎΠ½ ΡΠΆΠ΅ Π³ΠΎΠ΄Π° Π΄Π²Π° ΠΊΠ°ΠΊ Scala Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΌΠ΅ΡΡΠ²Π°. ΠΠΈΠ½ΠΎΠΉ ΡΡΠΎΠΌΡβ¦
ΠΠ΅Ρ, Π½Π΅ Java 8 ΠΈ Π΄Π°ΠΆΠ΅, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ SBT Ρ Π΅Π³ΠΎ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ, Π° Eclipse Scala IDE.
Π Scala, ΠΊΠ°ΠΊ ΠΊ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΈ: Π½Π΅ΠΏΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΎΡΠ²ΡΠ°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ tool’ΠΈΠ½Π³.
ΠΡΠ»ΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ Π΅ΡΠ΅ Ρ ΡΠ΄ΠΎ Π±Π΅Π΄Π½ΠΎ ΠΌΠΎΠ³Ρ ΠΌΠΈΡΠΈΡΡΡΡ, ΡΠΎ tool’ΠΈΠ½Π³β¦
ΠΠΎ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΡ, ΡΠΈΠ»ΠΎΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², ΠΏΠ»ΠΎΡΠ½ΠΎ (ΠΈ Π½Π°Π²Π΅ΡΠ½ΠΎ?) ΠΏΡΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΊ Eclipse IDE. ΠΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ Eclipse ΠΈ ΠΈΡ Π½Π΅Ρ (ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ) ΠΏΠΎΠ΄ IntelliJ IDEA (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ BIRT).
ΠΠ°, Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΌΠ½Π΅ Π΄Π»Ρ pet project’ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Scala ΠΈ IntelliJ IDEA, Π½ΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΈΡΡΠ½Π΅Π΅ ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Ρ IntelliJ IDEA ΠΈ Clojure (Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π³ΠΎΠ²ΠΎΡΡ ΠΎ Cursive).
Π§ΡΠΎ ΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ Ρ Eclipse Scala IDE?
Π Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ β ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ Π³Π»ΡΡΠ½Π°Ρ, Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ ΠΈ Π·Π°Π³Π°Π΄ΠΎΡΠ½Π°Ρ Β«Ρ ΡΠ΅Π½ΡΒ» ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² XXI Π²Π΅ΠΊΠ΅. ΠΠΎΠΏΡΠΎΡΡΡ Π³ΠΎΠ²ΠΎΡΡ ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π½Π°Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ²ΠΎΠΉ scala code ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Scala IDE, Scala, Eclipse’a, crash’Π΅ workspace’a ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, ΠΈ Π² ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ±Π½Ρ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π±ΠΈΡΡ ΡΡΠΎΠ±Ρ ΡΡΠΎ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
ΠΠ΄Π΅ΡΡ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²Π° ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ: Ρ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ Java+Scala ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈ Scala 2.11.x (ΡΡΠΎ Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Β«ΡΠ΄Π°Π»ΠΈΡΡΒ» ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎ Scala Π½Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ).
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Eclipse Scala IDE ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π΄Π»Ρ Β«pure ScalaΒ» ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½ΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ ΠΊΠ°ΠΊ Π½Π°Ρ β ΡΡΠΎ ΡΠΆΠ°Ρ ΠΈ ΠΊΠΎΡΠΌΠ°Ρ ΠΏΠΎΡΠΈΡΠ΅ Π°ΡΠΎΠΌΠ½ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΅ΡΠ°ΡΠ½Π΅Π³ΠΎ Π΄Π½Ρ. ΠΠ²Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Ρ Eclipse Oxygen.2 (4.7.2) Ρ OSX.
package com.XXX
import java.util.{List=>JList}
import scala.collection.JavaConversions._
...
abstract class REScalaVariablesConfiguration {
def calculateVariables (runtimeObject: GBObject): JList[Variable] = {
val result = for {(name, result) <- variables(runtimeObject)
if result != null
} yield result match {
case x:LWDecimal => new NumberVariable(name, x.getJavaDecimal, runtimeObject)
case x:Number => new NumberVariable(name, x, runtimeObject)
case x:String => new StringVariable(name, x, runtimeObject)
case x:Boolean => new BooleanVariable(name, x, runtimeObject)
case x:LWDate => new DateVariable(name, x.getJavaDate, runtimeObject)
case _ => throw new IllegalStateException("Not supported result type for rule engine variable: " + name)
}
new ArrayList[Variable](result)
}
protected def variables(runtimeObject: GBObject): Map[String, Any]
}
ΠΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ (ΠΊΡΠΎΠΌΠ΅ JVM ΠΈ Π²Π΅ΡΡΠΈΠΉ OSX) ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Eclipse:
- SBT builder crashed while compiling. The error message is ‘Could not create directory /XYZ/lib/print’.
- Error in Scala compiler: REScalaVariablesConfiguration
Π‘Π»Π΅Π³ΠΊΠ° ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ (ΠΏΡΠΈ ΡΡΠΎΠΌ Β«ΡΠΎΠ΄Π½ΡΠΌΒ» SBT ΠΎΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ)
package com.XXX
import scala.collection.JavaConversions._
...
abstract class REScalaVariablesConfiguration {
def calculateVariables (runtimeObject: GBObject): java.util.List[Variable] = {
...
ΠΠ½Π΅ ΡΠ΄Π°Π΅ΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½ΠΎ Π»ΠΈΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· MacBook’ΠΎΠ².
Π’Π°ΠΊΠΎΠ΅ Π²ΠΎΠ»ΡΠ΅Π±ΡΡΠ²ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΠΏΡΠΎΠ΅ΠΊΡ, Π³Π΄Π΅ autocompletion ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ» ΠΊ crash’Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»Π° ΡΡΡΠ»ΠΊΠ° Π½Π° scala code).
ΠΠΎΠ»Π»Π΅Π³ΠΈ, ΡΡΠΎ ΡΠ½ΠΎΠ²Π° Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΠΈΠ»ΠΈ Ρ ΠΠ°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΎΠΏΡΡ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎ Scala?
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Scala / Π₯Π°Π±Ρ
Π ΡΡΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android Π½Π° ΡΠ·ΡΠΊΠ΅ Scala Ρ ΠΏΠΎΠΌΠΎΡΡΡ SBT ΠΈ IntelliJ Idea, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΡΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠ°ΡΡΠΈΡΡ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ unix like ΡΠΈΡΡΠ΅ΠΌ, Π½Π° Windows Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΎΡΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅ΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ½ΡΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π· cygwin. ΠΡΠ°ΠΊβ¦
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈ Π±Π΅Π³Π»ΠΎΠΌ Π³ΡΠ³Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΊΠ½ΡΡΡΡΡ Π½Π° ΡΡΠΈ ΡΡΠΈ (ΡΠ°Π·, Π΄Π²Π°, ΡΡΠΈ) Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΊΡΠ°ΡΠΊΠ°Ρ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ½ΠΈΡΡΡΠΉ ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΡΠ²Π΅ΡΠ»Π΅Π½ΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΡΡΡ SBT ΠΏΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ Android Π² Idea. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΡΠ°ΡΠ΅Π», ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π² ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π»Ρ SBT 0.7.4, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡ ΠΎΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. ΠΠ΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡ ΠΊ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΠΌ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ Eclipse ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Scala, Π½ΠΎ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π΅ΡΠ½ΠΎΠΉ Π±Π΅ΡΠ΅ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Π³ΠΎΠ΄Π½ΡΠΉ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΈΠ΄Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠΎΡΠΌΠΎΠ·ΠΎΠ² ΠΈ ΡΠΊΡΠ΄Π½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
- ItelliJ Idea community edition Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Android β ΡΠ°ΠΌΠ°Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊ Scala IDE Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ (Π΅ΡΡΡ Π΅ΡΠ΅ ensime, Π½ΠΎ ΡΡΠΎ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠΏΠ΅ΡΡ).
- JDK 6 Π΄Π»Ρ linux/mac os. ΠΡΡΡ Π΄ΠΎ JDK Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ JAVA_HOME (ΠΌΠΎΠΆΠ½ΠΎ Π² ~/.bashrc).
- Android SDK Π΄Π»Ρ linux/mac os. ΠΡΡΡ Π΄ΠΎ SDK Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π½ ΡΠ΅ΡΠ΅Π· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ANDROID_SDK_HOME, Π½ΠΎ, Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄Π»Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠΎΠ³ΠΎ Π² /etc/environment. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°.
- Simple Build Tool (SBT) 0.10.1 β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Scala ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΌΠ΅Π½ΠΈΠ» ΠΈΠΌΡ Π½Π° XSBT ΠΈ ΠΏΠ΅ΡΠ΅Π΅Ρ Π°Π» Π½Π° github, ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ.
- Android ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ SBT β Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΡΡΠ°Π²ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
- giter8 (g8) β ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ Π½Π° github.
- ΠΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ g8 Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Idea ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
- ΠΠ°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Android Emulator ΠΈΠ»ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π°Π½Π΄ΡΠΎΠΈΠ΄ ΡΠΌΠ°ΡΡΡΠΎΠ½ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ USB ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° SBT
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°ΡΠ°ΡΡ sbt-launch.jar ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΡ ~/bin, Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ sbt ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ
java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@"
ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΡ ~/bin. ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΉΠ» sbt ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ ~/bin ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $PATH, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΡΠΈ:
$ chmod u+x ~/bin/sbt
$ echo 'PATH=$PATH:~/bin' >> ~/.bashrc
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°Π» ΡΠ°ΠΉΠ» ~/.bashrc.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ giter8 (g8). ΠΡΠΈΠ½ΡΠΈΠΏ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ β ΠΎΠ½ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ github ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ default.properties ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΈΡ ΠΈΠΌΠ΅Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅
class $main_activity$ extends Activity { ... }
$main_activity$ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅ΡΠ΅Π· g8. ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ, Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π΄Π»Ρ Idea ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘ΠΏΠ΅ΡΠ²Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ giter8. Π‘Π°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΌΠΎΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΠ°ΠΌ:
curl https://raw.github.com/mbektimirov/android-app-idea.g8/master/install.sh | sh
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎ g8 ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ ~/bin. Π Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ
ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½Π°. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ g8 Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Π°Ρ ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ (ΠΎΠ½ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
), ΡΠΎ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ.
mbektimirov@mbektimirov-pc:~$ g8 mbektimirov/android-app-idea
Template for Android apps in Scala
package [my.android.project]: ru.my.first.android.scala.project
name [My Android Project]: my super project
main_activity [MainActivity]: MyActivity
api_level [10]: 8
project_scala_version [2.9.1]:
Applied mbektimirov/android-app-idea.g8 in my-super-project
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΠ΅Π·ΡΠ΅ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ my-super-project, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ sbt start-device.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° IDE
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°ΡΠ°Π»ΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Idea, Π΅Π΅ Π½Π°Π΄ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Scala ΠΈ SBT, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π΅ ΠΎΡΡ ΠΎΠ΄Ρ ΠΎΡ ΠΊΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ/Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡΡΡΠ΄Π°. ΠΠ»Π°Π³ΠΈΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ Idea Π² plugin manager’Π΅:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ IDE, Π·Π°ΡΠ΅ΠΌ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ°Π·Π΄Π΅Π» SBT ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π΄ΠΎ sbt-launch.jar:
ΠΠΎΡΠ»Π΅ ΡΡΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π°Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² IDE ΡΠ΅ΡΠ΅Π· Β«File -> Open project…Β».
ΠΠΎΡΡΠΈ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΎΡΡΠ°Π»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SBT. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΌΠ΅Π½Ρ Β«RunΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ Β«Edit configurationsΒ». Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Android Application, ΠΈ Π½Π°Π·Π²Π°ΡΡ Π΅Π΅ StartDevice. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡ
ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Β«android-moduleΒ», ΡΠ½ΡΡΡ Π³Π°Π»ΠΎΡΠΊΡ Ρ Β«makeΒ» ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π°ΠΏΡΠΎΡΠΈΠ² Β«Run SBT ActionΒ». Π SBT Action, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π΄Π°ΡΡ Β«start-deviceΒ». Π‘ΠΊΡΠΈΠ½ΡΠΎΡ Π½ΠΈΠΆΠ΅ ΠΏΠΎΡΡΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎ Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Ρ ΠΎΡΠΊΠ΅Ρ. ΠΡΠ΅ Π»ΠΎΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΈΡΠ°ΡΡΡΡ Π² SBT ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° SBT Π΄Π»Ρ Idea:
ΠΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
- ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ g8 ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ³Π°ΡΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΅ΠΌΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΊΠ°ΡΠ°ΡΡ Apache httpclient. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΠΊΡΡ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ ~/.ivy2/cache/org.apache.httpcomponents ΠΈ ~/.m2/cache/org/apache/httpcomponents.
- Π Π°Π·ΠΌΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Hello world apk ΡΠ°ΠΉΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 680 ΠΠ±. ΠΠ΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ proguard, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΡΠ»Π΅Π½ΡΡΡ ΠΈΠ· apk ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Scala Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ. Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π°Π²ΡΠΎΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π° Android Π΄Π»Ρ SBT Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
- ΠΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ Android Π½Π° Idea Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½Π΅ΠΉ Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Eclipse.
Π§ΡΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Scala: ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ
Π ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ ΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Scala: ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ, Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ IntelliJ IDEA Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Scala β ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΡΠ°ΡΠΊΠΈΠΌ, ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΌ, ΠΈ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π½Π΅ΠΌ ΠΎΡΠ³Π°Π½ΠΈΡΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΡ ΡΠ·ΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΊΠ°ΠΊ Twitter, Π―Π½Π΄Π΅ΠΊΡ, LinkedIn, Sony, Qiwi, PayPal ΠΈ Π΄ΡΡΠ³ΠΈΡ .
http://www.slideshare.net/remeniuk/scala-kazachonak
- http://www.scala-lang.orgΒ β ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ
- https://www.coursera.org/course/progfunΒ β ΠΡΡΡΡ ΠΠ°ΡΡΠΈΠ½Π° ΠΠ΄Π΅ΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ° Scala ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Scala.
ΠΠΎΠ΄ Π½Π° Scala ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Java, ΠΈ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ:
- Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌ;
- ΡΠ·ΡΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ GC ΠΈ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ;
- Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Scala ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Java;
- ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Scala, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΈΠ· ΠΊΠΎΠ΄Π° Π½Π° Java.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Scala ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Java
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
java -version
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠΎ ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Java SE Development Kit 8, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅Β http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ° ΡΡΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° IntelliJ IDEA 15.0
ΠΠΎΠΉ Π²ΡΠ±ΠΎΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½Π° ΡΠ΄ΠΎΠ±Π½Π°, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°, ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π½Π°ΠΌ Scala. Π£Π΄ΠΎΠ±Π½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ. ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ Π½Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° βΒ https://www.jetbrains.com/idea/Β ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ IDEA Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ Scala.
ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊ: ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅Β ConfigureΒ ΠΈ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΒ Plugins.
ΠΠ°Π»Π΅Π΅, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π°Β Install jetBrains plugins.
ΠΠΈΡΠ΅ΠΌ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Β«ScalaΒ», ΠΆΠΌΠ΅ΠΌ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅Β InstallΒ ΠΈ ΠΆΠ΄Π΅ΠΌ ΠΏΠΎΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Scala.
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Scala
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π°Β Create New ProjectΒ ΠΈ ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«ScalaΒ»
ΠΠ°Π΅ΠΌ ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌΒ Finish.
Π ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΏΠ°ΠΏΠΊΠΈΒ src β New β Scala ClassΒ Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π΄Π°Π΅ΠΌ ΠΈΠΌΡ Π½Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ, ΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌΒ KindΒ ΡΒ Β«Scala Class» на «ObjectΒ»
ΠΠ°ΠΏΠΈΡΠ°Π² ΠΊΠΎΠ΄, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ Π½Π° ΡΠΊΡΠ°Π½ ΡΡΠ°Π·Ρ Β«Goodbye WorldΒ», Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Run β Run
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅
Π Π°Π±ΠΎΡΠ° Ρ GitHub
ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, IntelliJ IDEA Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π³ΡΡΠ·ΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Scala ΠΊ ΡΠ΅Π±Π΅ Π² Git, Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΆΠ΅ ΡΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ.
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅Β VCS β Import into Version Control β Share Project on GitHub
ΠΠΎΠ³ΠΈΠ½ΠΈΠΌΡΡ ΠΈ Π΄Π°Π΅ΠΌ ΠΈΠΌΡ Π½Π°ΡΠ΅ΠΌΡ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈΒ File β New β Project from Version Control β GitHub
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌΒ Β«CloneΒ»
ΠΠ° ΡΡΠΎΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π²ΡΠ΅. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π³ΠΎΡΠΎΠ² ΠΊ Π·Π°ΠΏΡΡΠΊΡ. Π£Π΄Π°ΡΠΈ!
«ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°…
[10 ΠΎΡΠ²Π΅ΡΠΎΠ²]
Π― ΡΠΎΠ·Π΄Π°Π» ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ play 2.3.7
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π·Π°ΠΏΡΡΡΠΈΠ» activator ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ eclipse
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° eclipse.
ΠΠΎΠ³Π΄Π° Ρ ΠΈΠ΄Ρ ΠΊ eclipse (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Scala IDE ΠΈΠ· typesafe Build id: 4.0.0-vfinal-20150119-1023-Typesafe, Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΌΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ Application.scala:
object index is not a member of package views.html
Π§ΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ ΠΌΠΎΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ? ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ run
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
EDIT: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠ΄
package controllers
import play.api._
import play.api.mvc._
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
ΠΡΠΈΠ±ΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ‘Ok..’ Π»ΠΈΠ½ΠΈΡ.
Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ index.scala.html, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ», ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π΅Π³ΠΎ ΠΈΠ· Π°ΠΊΡΠΈΠ²Π°ΡΠΎΡΠ°..
eclipse
scala
playframework-2.0
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
user384842 Β Β
11 ΡΠ΅Π²ΡΠ°Π»Ρ 2015 Π² 15:50
10 ΠΎΡΠ²Π΅ΡΠΎΠ²
25
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π° Π² Play 2.4.x, IntelliJ IDEA ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ:
ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ time-to-time ΠΏΠΎ IDEA 15. Π ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:
sbt ΠΎΡΠΈΡΡΠΈΡΡ; sbt ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ
ΠΠΎΡ ΠΈ Π²ΡΠ΅! IDEA ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
Π ΡΠΎΠΌ ΡΠ΅Π΄ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° sbt compile
ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π½ΠΎ IntelliJ IDEA 15 Π²ΡΠ΅ Π΅ΡΠ΅ Π΄Π°Π΅Ρ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ «object x is not a member», ΡΠΎ ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΡΠ°Π½ΠΈΡΡ IDEA:
ΠΠ΅Π½Ρ Π€Π°ΠΉΠ»:
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Brent Faust Β Β
26 ΡΠ½Π²Π°ΡΡ 2016 Π² 23:55
12
ΠΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π»ΠΈ Π±Ρ ΠΌΠ½Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΡΡΠΈΠ»ΠΈ Π±Ρ Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π±Ρ ΠΌΠ΅Π½Ρ Ρ ΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΊΠΎΡΡΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ views.html.index
, ΠΈ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π±Ρ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ scala.html.
Π§ΡΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Java Build Path > Source
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°:
target/scala-2.11/src_managed/main
target/scala-2.11/twirl/main
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ target/scala-2.11/twirl/main
, ΡΠΎ Π²Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° conf
.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
einnocent Β Β
23 ΠΌΠ°ΡΡΠ° 2015 Π² 02:13
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Luis Rodero-Merino Β Β
16 ΡΠ΅Π²ΡΠ°Π»Ρ 2015 Π² 22:49
- Scala IDE: ΠΎΠ±ΡΠ΅ΠΊΡ scalatest Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Scala IDE. Π― ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Scala. HelloSpec.scala: import org.scalatest._ class HelloSpec extends FlatSpec with Matchers { The Hello object should say hello in { Hello.greeting shouldEqual hello } } import org.scalatest._ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ: ΠΎΠ±ΡΠ΅ΠΊΡ scalatest Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ…
- ΠΡΠΈΠ±ΠΊΠ°: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ seq Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° slick.dbio.DBIO
Π― ΠΏΠΈΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² play framework. Π― ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ slick (FRM) Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΌΠΎΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (postgre). Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² slick, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΡΠ°Π» ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ slick Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ° 3.0.0 http://slick.typesafe.com/doc/3.0.0/gettingstarted.html Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»…
4
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» target/scala-2.x/classes
ΠΈ target/scala-2.x/classes_managed
ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ Java, ΠΈ Eclipse ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΆΠ°Π»ΠΎΠ²Π°ΡΡΡΡ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Chip France Β Β
16 ΡΠ΅Π²ΡΠ°Π»Ρ 2015 Π² 22:21
2
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ target/scala-2.11/twirl/main
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ views.html
ΠΏΠ°ΠΊΠ΅Ρ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Surya Prabhakar Β Β
30 Π°ΠΏΡΠ΅Π»Ρ 2015 Π² 05:40
2
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Play 2.4.0-RC1, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°ΠΊΠ΅Ρ default SBT (disablePlugins(PlayLayoutPlugin)
) , ΠΈ Ρ ΡΠ΅ΡΠΈΠ» Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ build.sbt
:
sourceDirectories in (Compile, TwirlKeys.compileTemplates) :=
(unmanagedSourceDirectories in Compile).value
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Lera Β Β
25 Π°ΠΏΡΠ΅Π»Ρ 2015 Π² 22:57
1
ΠΡΠ²Π΅Ρ @brent-foust ΡΡΠ°Π±ΠΎΡΠ°Π» Π΄Π»Ρ ΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½Π°ΡΠ°Π»Π΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°ΠΈΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ·Π½ΡΡΡΠΈ IDEA, Ρ ΠΏΠΎΠ»ΡΡΠ°Π» «not found: routes» ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ·Π½ΡΡΡΠΈ target\scala-2.11\twirl\main\views\html\main.template.scala
, ΠΏΠΎΠΊΠ° ΡΠ½ΠΎΠ²Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ» ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ ΠΡΠ΅Π½ΡΠ°.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ .iml Ρ
<excludeFolder url="file://$MODULE_DIR$/target/scala-2.11/src_managed/main" />
ΠΊ
<sourceFolder url="file://$MODULE_DIR$/target/scala-2.11/src_managed/main" isTestSource="false" />
Π― Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊΠΎΠ²Ρ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π²ΡΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ .ΠΠΠ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
David Hinson Β Β
03 ΡΠ½Π²Π°ΡΡ 2017 Π² 23:57
0
ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² intellij ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ Ρ «checked» «auto import» checkbox ΡΠ΄Π΅Π»Π°Π» ΡΡΡΠΊ.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Tomer Ben David Β Β
18 ΠΈΡΠ»Ρ 2015 Π² 10:32
0
1) Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² Π²Π°Ρ ΡΠ°ΠΉΠ» sbt.build:
EclipseKeys.preTasks := Seq(compile in Compile)
2) Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΡ follwing Π² ΡΠ°ΠΉΠ» plugins.sbt Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.1.0")
3) Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «eclipse» ΠΈΠ·Π½ΡΡΡΠΈ sbt
ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ½ΡΠ΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ IDE
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
user2038596 Β Β
17 ΠΌΠ°Ρ 2017 Π² 23:06
0
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π° ΠΏΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
Π― ΡΠ΄Π΅Π»Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ target
.
Π― ΠΏΠΎΡΠ΅Π» ΠΏΠΎ ΠΏΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ Project Properties
— > Java ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,
target/scala-2.12/routes/main
target/scala-2.12/twirl
target/scala-2.12/twirl/main
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π΅ Ρ
ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΠΎΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠΈ ΡΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ. ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΠΈ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ target/scala-2.x.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Som Bhattacharyya Β Β
09 Π½ΠΎΡΠ±ΡΡ 2017 Π² 14:28
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Scala ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ
Π― Π·Π°Π±ΡΠ» ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Scala, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠ° Scala. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ scala Π²ΡΠ΅ Π΅ΡΠ΅ ΠΆΠ°Π»ΠΎΠ²Π°Π»ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°!
Squeryl — «CustomTypesMode Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° org.squeryl.customtypes»?
Π― ΠΏΠΎΡΡΡΠΎΠΈΠ» squeryl framework Ρ SBT ΠΈ ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ Scala 2.8 ΠΈ NetBeans 6.9. Π― ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠΏΠΈΡΠ°Π½Π° Π² squeryl intro , Π½ΠΎ IDE ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΆΠ°Π»ΡΡΡΡΡ, ΡΡΠΎ…
ΠΎΠ±ΡΠ΅ΠΊΡ hbase Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° org.apache.hadoop ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ scala
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ HBase API Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ scala, Π½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ hbase import org.apache.hadoop.hbase ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ hbase Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ…
Scala IDE 4.0.0 ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ out-of-the-box Play Framework 2.3.7
Π― ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Play Framework Ρ ΠΏΠΎΠΌΠΎΡΡΡ Typesafe Activator (ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΡΠΎΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ). Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» sbteclipse-plugin Π²Π΅ΡΡΠΈΡ 3.0.0 Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Eclipse ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» Π΅Π³ΠΎ Π²…
ΠΡΠΈΠ±ΠΊΠ° Play framework only: ΠΎΠ±ΡΠ΅ΠΊΡ httpclient Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° org.apache.commons
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΈΠΌΠΏΠΎΡΡΠ° Π² scala Π½Π° play framework. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ³ΡΠ°ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΌΠ½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ httpclient Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° org.apache.commons. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» commons-httplclient.jar ΠΊΠ°ΠΊ…
Scala IDE: ΠΎΠ±ΡΠ΅ΠΊΡ scalatest Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Scala IDE. Π― ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Scala. HelloSpec.scala: import org.scalatest._ class HelloSpec extends FlatSpec with Matchers { The Hello object should say hello in {…
ΠΡΠΈΠ±ΠΊΠ°: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ seq Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° slick.dbio.DBIO
Π― ΠΏΠΈΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² play framework. Π― ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ slick (FRM) Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΌΠΎΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (postgre). Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² slick, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΡΠ°Π» ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ slick Π΄Π»Ρ…
Scala Play: ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° views.html
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ object index is not a member of package views.html Π½ΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΎΡΠΊΡΡΡΡΡ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ, ΠΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ IDE. Π― ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΠ·…
Scala — Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°
Π― ΡΡΡΡΡ Scala ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΡΠ΅ΡΠΏΠΈΡΠ΅ ΠΌΠ΅Π½Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π³Π»ΡΠΏΡΠΉ Π²ΠΎΠΏΡΠΎΡ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΊΠ»Π°ΡΡ (ΡΠ°Π·ΠΎΡΠ²Π°Π» Π΅Π³ΠΎ Π΄ΠΎ ΡΠ°ΠΌΠΎΠΉ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ): package Foo { class Bar {} } ΡΠΎΠ³Π΄Π° Π² ΡΠ°ΠΉΠ»Π΅ main.scala Ρ ΠΌΠ΅Π½Ρ…
ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° spass Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° views.html
git clone https://github.com/spass/spass.git ΠΠ°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ ( sbt ) Π² intellij . ΠΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Rebuild Project Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ: app/io/spass/controllers/Application.scala Error:(9, 19)…
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ Intellij IDEA Π΄Π»Ρ Scala β IntelliJ IDEA
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Scala
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Scala Π² IntelliJ IDEA, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Scala. ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ IntelliJ IDEA Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Scala, ΠΊΠΎΠ³Π΄Π° IntelliJ IDEA ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ IntelliJ IDEA Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π½Π°Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Updates , ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Scala nightly, EAP ΠΈΠ»ΠΈ ΡΠ±ΠΎΡΠΎΠΊ Π²ΡΠΏΡΡΠΊΠ°.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Scala, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Alt + S , ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Scala, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ IntelliJ IDEA.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ· VCS, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Scala.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Scala ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ sbt, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ sbt projects tool window ΠΈ sbt Shell .
Π’Π°ΠΊΠΆΠ΅ IntelliJ IDEA ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Scala Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Scala. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ΅Π½, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π½Π°ΡΠΎΠΊ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π·Π½Π°ΡΠΎΠΊ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Ctrl + Alt + Shift + E , ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π‘Π°ΠΌΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° — ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ IntelliJ IDEA Editor, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΡ ΡΡΠ½ΠΊΡΠΈΡ IDE, Π½Π΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π½Π΅Π΅, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΠΊΠ½Π°, ΡΠΊΡΡΡΡ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΎΠΊΠ½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠ΅Π· Π΅Π³ΠΎ ΡΡΠ»ΡΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠΊΡΡ Π²Π²ΠΎΠ΄Π° Π½Π° Π½Π΅Π³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅.ΠΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Escape .
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ»ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² | Π―ΡΠ»ΡΠΊ |
---|---|
Project | Alt + 1 |
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ | Alt + 9 |
Run | Alt + 4 |
ΠΡΠ»Π°Π΄ΠΊΠ° | Alt + 5 |
Π’Π΅ΡΠΌΠΈΠ½Π°Π» | Alt + F12 |
Editor | Escape |
ΠΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Shell Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ () ΠΈΠ»ΠΈ Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Ctrl + Shift + A Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ². ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² ΡΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ, Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ View | ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ | ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ².
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌΡ Π±Π΅Π· ΠΎΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠΈΠ΅ Π²ΡΠ΅Ρ ΠΎΠΊΠΎΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΠΆΠ°Π² Ctrl + Shift + F12 . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ°ΠΊΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½Π°ΠΆΠ°Π² ΡΡΠΎΡ ΡΡΠ»ΡΠΊ Π΅ΡΠ΅ ΡΠ°Π·.
ΠΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ — ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΎΠΊΠ½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΡΠΎΠ΅ΠΊΡΒ». Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Alt + Home .
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² IntelliJ IDEA (ΠΊΠ°ΠΊ ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠΊΠ½Π°) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠ»ΡΠΊ Π΄Π»Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β«ΠΠ°ΠΉΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅Β», Π½Π°ΠΆΠ°Π² Ctrl + Shift + A .ΠΠ°ΡΠ½ΠΈΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ ΡΡΠ»ΡΠΊ ΠΈΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ Π΅Π³ΠΎ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠΌ. ΠΠ±Π·ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ ΠΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² IntelliJ IDEA Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ, Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΎΡΠΈΡΡ Π²Π°Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°:
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° | Ctrl + Shift + Up Ctrl + Shift + Down |
ΠΡΠ±Π»ΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° | Ctrl + D |
Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° | Ctrl + Y |
ΠΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° | Ctrl + / |
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° | Ctrl + Shift + / |
ΠΠ°ΠΉΡΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ | Ctrl + F |
ΠΠ°ΠΉΡΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ | Ctrl + R |
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ | F3 |
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ | Shift + F3 9001 1 |
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ | Alt + Right Alt + Left |
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π°Π·Π°Π΄ / Π²ΠΏΠ΅ΡΠ΅Π΄ | Ctrl + Alt + Left Ctrl + Alt + Right |
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΡΠ²Π΅ΡΠ½ΡΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ | Ctrl + NumPad + Ctrl + NumPad - |
Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ | Alt + Insert |
Surround Ρ | Ctrl + Alt + T |
ΠΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° | Ctrl + F7 |
Π§ΡΠΎΠ±Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + W .Π§ΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π΅Π³ΠΎ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Shift + W .
IntelliJ IDEA ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° Π·Π° ΡΠ°Π·. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Alt + J ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΠΎΡ, Π½Π°ΠΆΠ°Π² Alt + Shift + J . ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π·Ρ, Π½Π°ΠΆΠ°Π² Ctrl + Alt + Shift + J .
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
ΠΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΆΠ°Π² Ctrl + ΠΡΠΎΠ±Π΅Π» , Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΈΠΏΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΈΠΏΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π²Π°ΠΆΠ΄Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ· Π½Π΅ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ ΠΈ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ. Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠΌΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Shift + ΠΡΠΎΠ±Π΅Π» . ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π²Π°ΠΆΠ΄Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ Smart Completion, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΊΠ°ΡΠ΅ΡΠΊΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ Tab . ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ°ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ IntelliJ IDEA Π·Π°Π²Π΅ΡΡΠΈΡΡ Π·Π° Π²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Shift + Enter . ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + P .IntelliJ IDEA ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ ΡΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΈΠΊΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ Π½Π°Π±ΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΡΡΠΈΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΊΠΈ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠΌ. ΠΠΎΠ΄ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.ΠΠ°ΡΡΠΎΡΡΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΡΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ Ctrl + E . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠΊΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠ»Π°ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Ctrl + N ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π΅ΡΠ±Π»ΡΠΆΡΠΈ Π½Π΅ΡΠΎΠ²Π½ΠΎΡΡΠΈ, ΠΏΡΡΠΈ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ Π΅Π³ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ, ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Β«ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°ΠΉΠ»ΡΒ» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Ctrl + Shift + N , Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ. Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Slash .
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π½Π°ΠΆΠ°Π² Ctrl + Alt + Shift + N , ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΡΠΎΠ΅ΠΊΡΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Π°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΈ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ².
Π‘ΡΡΡΠΊΡΡΡΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π²Ρ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π°. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ - Π½Π°ΠΆΠ°ΡΡ Ctrl + F12 . ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ :
ΠΡΠ±ΡΠ°ΡΡ Π²
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° (ΠΈΠ»ΠΈ Finder / Explorer), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠ±ΡΠ°ΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, Π½Π°ΠΆΠ°Π² Alt + F1 :
Π―ΡΠ»ΡΠΊΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΡΠΊΠ°ΡΡ Π²Π΅Π·Π΄Π΅ | ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ Shift |
ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠ»Π°ΡΡ | Ctrl + N |
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ | Ctrl + Shift + N |
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Ρ | Ctrl + Alt + Shift + N |
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ | Ctrl + E |
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° | Ctrl + F12 |
ΠΡΠ±ΡΠ°ΡΡ Π² | Alt + F1 |
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ | Ctrl + B |
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠΈΠΏΠΎΠ² | Ctrl + H |
ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ UML | Ctrl + Alt + U |
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
ΠΡΡΡΡΡΠ΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΠΊΠ΅. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΡ ΠΎΠΊΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎ:
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ΅ | Alt + ΡΠ°Π²Π½ΠΎ |
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ | Ctrl + Q |
ΠΡΡΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ | Ctrl + Shift + I |
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ | Ctrl + Alt + F7 |
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ | Ctrl + Alt + B |
ΠΠ΅ΡΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ | Ctrl + Shift + Q |
ΠΠ΅ΡΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ | Ctrl + Shift + P |
ΠΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π±ΡΡΡΡΡΠ΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΠΊΠ½Π°; ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ ΠΆΠ΅ ΡΡΠ»ΡΠΊΠΎΠ².
ΠΡΠ½ΠΎΠ²Ρ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°
IntelliJ IDEA ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ±ΡΠ°ΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³. IntelliJ IDEA Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ΅Π½, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ, ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΊΡΡ Π½Π° ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΡΠΎΠ΅ΠΊΡΒ» ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Z .
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ | Shift + F6 |
ΠΠ·Π²Π»Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ | Ctrl + Alt + V |
ΠΠ·Π²Π»Π΅ΡΡ ΠΏΠΎΠ»Π΅ | Ctrl + Alt + F |
ΠΠ·Π²Π»Π΅ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ | Ctrl + Alt + C |
ΠΠ·Π²Π»Π΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ | Ctrl + Alt + M |
ΠΠ·Π²Π»Π΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ | Ctrl + Alt + P |
Inline | Ctrl + Alt + N |
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ | F5 |
Move | F6 |
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΡΠΎΠ³ΠΎ | Ctrl + Alt + Shift + T |
ΠΠ»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ().
Π Π΅Π°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ - ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° Extract. ΠΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°Β».
ΠΠΎΠΈΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ
ΠΠΎΠΈΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΡΡΡΠ»Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΊΠ°ΡΠ΅ΡΠΊΠ΅ (ΠΊΡΡΡΠΎΡΠ΅), Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ»Π΅ΠΌ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.ΠΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ Alt + F7 ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ»ΠΎΠΊ, ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + Alt + Shift + F7 ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΠΏΡΠ°Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠ°.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«ΠΠ°ΠΉΡΠΈ Π² ΠΏΡΡΠΈΒ», Π½Π°ΠΆΠ°Π² Ctrl + Shift + F .
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠΌ. ΠΠΎΠΈΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΈ
ΠΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΈ - ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π²Π΅ΡΠΎΡΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΠΎΠ±ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Π²Π°ΠΌ, Π² ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΡΡΡΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π΅Π΅ ΡΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Alt + Enter , ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π±ΡΡΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ F2 , ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅, ΠΈ Shift + F2 , ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° Π»Π΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²: Π²ΡΠ±ΡΠ°Π² ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°Π² Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎ Π΅Π΅ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΡΡΡΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΡ ΠΊ ΠΊΠΎΠ΄Ρ Ρ ΠΊΡΡΡΠΎΡΠ°, Π½Π°ΠΆΠΌΠΈΡΠ΅ Alt + Enter .
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π°.
Π‘ΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
IntelliJ IDEA Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Reformat Code.
ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Scalafmt ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ScalaΒ».
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ»ΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ | Ctrl + Alt + L |
ΠΠ²ΡΠΎΠΎΡΡΡΡΠΏ ΡΡΡΠΎΠΊ | Ctrl + Alt + I |
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠΏΠΎΡΡ | Ctrl + Alt + O |
ΠΠΎΠ΄ Desugar Scala (ΡΠ°ΠΉΠ») | Ctrl + Alt + D |
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Scalastyle Inspection Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΠΎΠ΄ Scala.ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» scalastyle_config.xml Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ IntelliJ IDEA ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ Π΄Π»Ρ ΠΎΡΡΡΡΠΏΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΡΡΡΠΏΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠΈΠ² ΠΎΠΏΡΠΈΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π².
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°Β».
ΠΠ°ΠΏΡΡΠΊ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° / ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π²ΡΠ±ΡΠ°Π² ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Scala.
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² sbt Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ sbt. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ sbt Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΠΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ sbt, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ sbt Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ , ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΊΠΎΠ΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ Π»ΠΈΡΡ Scala, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄.ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl + Alt + Shift + X , ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π»ΠΈΡΡΠ° Scala, ΠΈ Ctrl + Alt + W , ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΅.
ΠΠ±ΡΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° / ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ | Shift + F10 |
ΠΡΠ»Π°Π΄ΠΊΠ° | Shift + F9 |
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Β«ΠΡΡΠΈΡΠ»ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅Β», Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π½Π°ΠΆΠ°Π² Alt + F8 .ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π»Π΅Π³ΠΊΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½ΠΎ Π½Π΅ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Smart step into, Π½Π°ΠΆΠ°Π² Shift + F7 , ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ | Π―ΡΠ»ΡΠΊ |
---|---|
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° | Ctrl + F8 |
Π¨Π°Π³ Π² | F7 |
Π£ΠΌΠ½ΡΠΉ ΡΠ°Π³ Π² | Shift + F7 |
Π¨Π°Π³ Π²ΠΏΠ΅ΡΠ΅Π΄ | F8 |
ΠΡΠΉΡΠΈ | Shift + F8 |
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ | F9 |
ΠΡΡΠΈΡΠ»ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | Alt + F8 |