Intellij IDEA + scala插件

工欲善其事,必先利其器!

学习scala已经有一段时间了,对scala这门语言爱不释手,但同时也为scala糟糕的IDE工具支持感到懊恼(我是一个100%的IDE支持者)。由于社区关注度还不是很高,scala缺乏像java那样强大的ide支持。scala官方网站上列出了三种主流的IDE插件(eclipse, netbeans, itellij idea),我花了一个星期的时间对三个插件进行了一番探索。

一直以来,我都在使用eclipse进行java开发,所以我首先尝试了scala的eclipse插件,使用之后的感觉非常糟糕。首先scala 2.7.5以后版本的插件需要eclipse 3.5的环境,而且在使用时占用非常大的内存,有时出现无法打开scala编辑器的情况。而且在代码提示、重构、即时编译方面做得很糟糕。总之,scala的eclipse插件给人的感觉是:崩溃!

接下来我尝试了scala的netbeans插件。我使用的是netbeans 6.7版本。较之eclipse版本的插件,感觉有很大的改进。首先占用的内存较小,在代码提示、重构、即时编译方面也做得挺出色,但是存在一个较大的缺陷:无法调试闭包!而闭包是scala语言的最大特色之一。这多少让人难以接受。

最后,我找到了我认为最好的scala开发工具:Intellij IDEA。众所周知,intellij idea的使用性非常好,是一个非常优秀的IDE。而更令人振奋的是它在不久前开源了,并且最新的9.0版本刚刚发布了!

以下是在Intellij idea 9.0社区版上构建scala开发环境的全过程。

一 下载Intellij idea 9.0社区版。 下载免费社区版 
二 启动Intellij idea 9.0, 可以看到如下界面:

在界面的右端可以看到Intellij Idea的插件管理器。接下来有两种方法安装scala插件 
三 安装scala插件 
3.1 通过plugin manager安装。点击“Open Plugin Manager”的按钮,出现一个对话框:


安装的过程非常简单,这里就不赘述了。安装之后重启ide。这种安装方式推荐网络比较好的朋友安装。

3.2 下载插件离线安装。到Intellij Idea的插件下载页面,在左边浏览"Categories --> Custom Languagies --> Scala", 目前最新版本是0.3.312。将下载的zip包解压后放到"path_to_your_installation\plugins"目录,然后重启ide.

无论你以何种方式安装成功后,都可以在启动页面的插件管理栏中看到scala插件

四 新建一个scala工程

点击"Next"按钮

点击"Next"按钮

点击"Next"按钮

这里要重点说明一下,默认情况下wizard会选择从为远程下载scala相关的包,但如果你已经下载了scala,那么可以选择"pick files from disk", 这里我们只需要选中两个包。

点击完成。第一次建立scala工程的时候会比较慢。因为scala插件要为scala库以及java库建立索引,以实现代码提示,重构等功能。这也是Intellij idea的scala插件优于Eclipse和Netbeans插件的原因。

扫描完成之后,我们可以看到建立的scala工程:

右键点击src目录,建立一个scala类,类的类型为"class",如图:

接下来大家就可以编写scala代码了。

参考资料: 
http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA

SBT指定资源目录

scalaSource in Compile := baseDirectory.value / "src" resourceDirectory in Compile := baseDirectory.value / "resources"...
2014-04-16 14:23 阅读(63) 评论(0)
 
主要参考了http://fxthomas.github.io/android-plugin/tutorial/01-getting-started.html 首先clone https://github.com/fxthomas/android-scratch到本地 由于本地没有sbt-android插件,需要在build.sbt中增加以下库 resolvers += Resolver....
2014-02-16 00:00 阅读(242) 评论(0)
 
object ScalaMain { trait A[T] { def shared(v: T): Int } case class B(shared: Int, other: String) case class C(shared: Int) case class D() import net.liftweb.json._ implicit val f...
2013-12-26 21:43 阅读(144) 评论(0)
 
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" brew install sbt...
2013-05-12 23:01 阅读(230) 评论(0)
 
问题引出:在liftweb中使用logback,使得日志可以使用logback的特性,最重要是可以自定义输出位置 基本配置 scala 2.9.2 lift 2.5.M4 logback-classic 0.9.28 slf4j-log4j12 1.6.1 (建议) 陷进1.class Boot 在def boot中不要设置  Logger.setup=Empty...
2013-05-09 08:50 阅读(486) 评论(0)
 
动态模版读取 def csstest = ".row *" #> List(1,2,3).map( x => ".cell *" #> Templates(List("bindtest")).map(html=>bind("hello",html,"act1"->Text("hhh")))) hello world aaa...
2012-12-01 13:26 阅读(168) 评论(0)
 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4...
2012-08-16 09:55 阅读(317) 评论(0)
 
lift 数据源配置 在webapp目录下建立META-INF目录,里面创建context.xml文件,文件内容如下 <Resource name="jdbc/mysql" auth="Container" description="DB Connection" type="javax.sql....
2012-07-14 00:02 阅读(208) 评论(0)
 
将sbt环境由0.7.4迁移至0.11.3 开发环境为mac 1.下载sbt-launch.0.11.3.jar 放在/bin目录中 2.编辑sbt文件,放在相同目录下,文件内容为 java -XX:MaxPermSize=1024M -Xmx2048M -Xss4M -jar `dirname $0`/sbt-launch-0.11.3.jar "$@" 3.添加lift项目支持...
2012-07-04 21:11 阅读(290) 评论(0)
 
StreamingResponse相关文章  http://comments.gmane.org/gmane.comp.web.lift/56196 http://www.assembla.com/spaces/liftweb/wiki/StreamingResponse http://exploring.liftweb.net/master/index-9.html...
2012-07-03 21:19 阅读(250) 评论(0)
 
You are using Lift 1.0's JsCmd, which produces JSON with single-quoted strings and attempting to parse it with scala's parser, which only supports double-quoted strings. It is important to realize...
2012-04-27 10:31 阅读(651) 评论(0)
 
Binding via CSS Selectors Lift 2.2-M1 introduced a new mechanism for transforming XHTML: CSS Selector Transforms (CssBindFunc). The new mechanism provides a subset of CSS selectors that can be us...
2012-04-20 15:17 阅读(329) 评论(0)
 
让我们来创建一个简单的aJax例子 首先创建一个snippet import _root_.net.liftweb.http.SHtml._ import _root_.net.liftweb.http.js.JE._ import _root_.net.liftweb.http.js.JsCmds._ import scala.xml.{NodeSeq,Text} import net.li...
2012-04-19 00:14 阅读(237) 评论(0)
 
当你需要将一个页面的内容分为几块时(大多数情况下你都会这样做).可以使用embed方式 将需要切分的页面内容放入embed.html,位置在webapp/下 在你需要调用这个内容地方使用 replaced with embedded content 保存后刷新页面,你会看到此处内容被替换为embed.html中的内容(被引用的内容自然也会被解析) 一个...
2012-04-17 18:01 阅读(211) 评论(0)
 
在HelloWorld.scala中,增加声明 import net.liftweb.http.S 代码修改为:def foo: NodeSeq = { val x = S.attr("myparam") openOr "myparam: Y U NO DEFINED!?" I got {x}! } def render = "*" #> c index.html页...
2012-04-10 03:24 阅读(236) 评论(0)
 
在项目所在目录的中,输入 *sbtIdeaRepo at http://mpeltonen.github.com/maven/ *idea is com.github.mpeltonen sbt-idea-processor 0.4.0 update idea 注意,只有输入“idea”后,才会实际转变为idea项目 接下来先启动jetty jetty-run 然后启动实时编译...
2012-04-06 22:34 阅读(309) 评论(0)
 
接上篇 下载jrabel,解压jrable.jar在/User/test/program/lib/jrebel/下 修改sbt文件为 java -noverify -javaagent:/Users/test/program/lib/jrebel/jrebel.jar -XX:MaxPermSize=1024M -Xmx2048M -Xss4M -jar `dirname $0`/sbt-...
2012-04-05 23:29 阅读(326) 评论(0)
 
运行环境为MAC 1.下载sbt-launch-0.7.7.jar 复制到./bin目录下 2.在./bin目录下创建文件sbt,内容如下 java -XX:MaxPermSize=1024M -Xmx2048M -Xss4M -jar `dirname $0`/sbt-launch-0.7.7.jar "$@" 3.更改sbt的权限为u+x 4.运行前检查java环境是否安装 ,以ja...
2012-04-04 09:22 阅读(655) 评论(2)
 
Scala中使用HTTP访问地址可以使用以下简便方式 1.声明对象   abstract class OptionalParam case class Id(id : String) extends OptionalParam case class UserId...
2011-08-24 17:43 阅读(232) 评论(0)
 
ScalaActivity.scala package com.example import android.app.Activity import android.os.Bundle import android.view.View import android....

scala lift环境搭建的更多相关文章

  1. Scala开发环境搭建与资源推荐

    Scala开发环境搭建与资源推荐 本文介绍了Scala的开发环境,包括SDK.IDE的设置.常用资源列表等.Scala是一门静态语言,很有可能就是Java的继承者. AD: 2014WOT全球软件技术 ...

  2. Scala开发环境搭建

    Ubuntu14.04下Scala开发环境搭建. 1:安装JDK,jdk-6u45-linux-x64.bin 将其安装到/usr/lib/jvm/jdk1.6.0_45/. 2:安装Scala,下载 ...

  3. Scala学习1————scala开发环境搭建(windows 10)

    Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...

  4. Eclipse+maven+scala+spark环境搭建

    准备条件 我用的Eclipse版本 Eclipse Java EE IDE for Web Developers. Version: Luna Release (4.4.0) 我用的是Eclipse ...

  5. Window下Scala开发环境搭建

    在Windows下搭建Scala开发环境,需要做以下几个步骤 1) 安装JDK 2) 安装Scala,并配置环境变量 3) Idea安装并创建Scala 类 1.安装JDK JDK安装,这里不再介绍, ...

  6. Flink开发-IDEA scala开发环境搭建

    现在大数据相关服务,越来越倾向于使用scala语言,scala函数式编程的优势我不多赘述.最明显的一个优点,代码简洁.看个WordCount实现对比: Java版WordCount Execution ...

  7. Windows下 Scala开发环境搭建

    1.配置jdk:可看这里 2.下载scala,并安装 3.配置scala环境变量,把scala的安装路径加入path内 ps:验证是否安装正确:cmd->输入scala,如果出现scala环境, ...

  8. Scala(一) 环境搭建和HelloWorld

    环境 scala 1.12.2 JDK 1.8.0_131 Win10 Eclipse 4.6.1   软件下载   官网:http://www.scala-lang.org/ 点击DOWNLOAD进 ...

  9. mac平台scala开发环境搭建

    到scala官网,下载scala的sdk,地址:http://www.scala-lang.org/download/ adeMacBook-Pro:scala- apple$ wget http:/ ...

随机推荐

  1. SharePoint 2013 禁用搜索服务

    原文:SharePoint 2013 禁用搜索服务 前言,在SharePoint2013中,对于硬件需求的提升,让我们虚机里安装总是一筹莫展,尤其开启了搜索服务以后,对于内存的消耗就更加严重,尤其对于 ...

  2. Windows下一个MySQL有些错误的解决方法

    1.无论是什么提示.我们有一个直接看错误日志.由于它描述了最具体描述错误日志. 于MySQL安装文件夹中找到 my.ini简介 看日志保存路径 2. 我的错误是[ERROR] Fatal error: ...

  3. 自动注册 IIS6 的 MIME 类型

    原文 自动注册 IIS6 的 MIME 类型 由于IIS5和IIS6有很多的MIME类型没有设置,其中还包括了FLV(video/x-flv),上篇文章描述了制作<IIS6 自动安装>,而 ...

  4. SQL Server编程系列(1):SMO介绍

    原文:SQL Server编程系列(1):SMO介绍 续篇:SQL Server编程系列(2):SMO常用对象的有关操作 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己 ...

  5. MVC 编程模型及其变种

    MVC 编程模型及其变种 MVC全称是Model View Controller, 这是一个模型(model)-查看(view)-调节器(controller)缩写,这是通过通用的编程模型非.MVC当 ...

  6. 它们的定义ListView,实现Item除去滑动和滑出菜单效果

    这个程序是基于变化从网上开源项目,详情货源忘记.懒得去搜索,.假设有不合适的地方.请与我联系作者.我会及时回复和处理! 序中主要包括两个ListView,一个是实现側滑删除.一个是側滑出菜单,代码中的 ...

  7. 第18章 备忘录模式(Memento Pattern)

    原文  第18章 备忘录模式(Memento Pattern) 备忘录模式       概述: 备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Toke ...

  8. javascript系列之变量对象

    原文:javascript系列之变量对象 引言 一般在编程的时候,我们会定义函数和变量来成功的构造我们的系统.但是解析器该如何找到这些数据(函数,变量)呢?当我们引用需要的对象时,又发生了什么了? 很 ...

  9. 找呀志_使用SQLiteDatabase增删改提供的搜索方法和事务

    知识具体解释:http://blog.csdn.net/zhaoyazhi2129/article/details/9026093 MainActivity.java,User.java,BaseDa ...

  10. Linux下javaweb

    Linux下javaweb环境搭建 步骤: 1.使用远程工具连接上服务器,例如xsheel(ssh).filezilla(ftp) 2.JDK安装及相关配置 3.Mysql安装及相关配置 4.Tomc ...