使用idea搭建Scala 项目

摘要:
它对Scala的支持比ScalaIDEforEclipse2要好得多。IntellijIDEScala开发环境构建IntellijIDEA114.1.4。默认配置中没有Scala插件。选择默认值后,在主软件界面中配置它并将其解压缩到IntellijIDEA安装目录中的插件:在ScalaSDK右侧的弹出框中选择JDK安装目录。

主要内容

  1. Intellij IDEA开发环境简介
  2. Intellij IDEA Scala开发环境搭建
  3. Intellij IDEA常见问题及解决方案
  4. Intellij IDEA常用快捷键

1. Intellij IDEA开发环境简介

具体介绍请参见:http://baike.baidu.com/link?url=SBY93H3SPkmcmIOmZ8H60O1k4iVLgOmdqoKdGp9xHtU-Pbdsq2cpn75ZPZPWAJxeUlwr0ravraQzOckh777beq

Intellij IDEA是我用过最好的集成开发环境,没有之一,它对于Scala的支持远胜于Scala IDE for Eclipse

2. Intellij IDEA Scala开发环境搭建

Intellij IDEA 14.1.4 默认配置里面没有Scala插件,需要手动安装,在Intellij IDEA 14.1.4 第一次运行时选择configure plugins,选择默认后在软件主界面去配置,但是本人测试发现,这种设置方式经常会因为网络问题配置失败,建议直接到 
http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA,这个链接去下载,下载完成后,解压到Intellij IDEA 安装目录中的plugins里面去: 
这里写图片描述

完成后,启动Intellij IDEA 14.1.4

配置Intellij IDEA 14.1.4后,我们来看看如何进行Scala开发环境的创建:

1 File->New Project 
这里写图片描述
得到下列界面:

这里写图片描述
选择scala,然后下一步: 
这里写图片描述
在Project SDK的右侧,点击new,得到: 
这里写图片描述
选择JDK,在弹出框中选择JDK的安装目录 
这里写图片描述

在Scala SDK的右侧,点击Create,得到下图所示界面: 
这里写图片描述
可以选择Intellij IDEA中自带的Scala,也可以使用自己安装好的Scala,点击上图中的”Browse”,然后选择Scala的安装目录 
这里写图片描述

配置好之后,直接finish,得到下列工程目录 
这里写图片描述

点击File->Project Structure, 
这里写图片描述
得到: 
这里写图片描述
在src目录上,右键然后点击new fold 
这里写图片描述
命名为main 
再右鍵main,同样new fold,命名为scala,并设置为sources,如下图 
这里写图片描述
整体的工程文件已经创建好了,如下图: 
这里写图片描述
在scala源文件目录上,直接名鍵,new->scala class 
这里写图片描述
选择Object,然后输入名称:Hello World 
这里写图片描述

输入的代码如下:

  1.  
    object HelloWorld {
  2.  
    defmain(args: Array[String]) {
  3.  
    println("Hello World")
  4.  
    }
  5.  
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

点击HelloWorld.scala文件,右键 
这里写图片描述
或直接ctr+shift+F10运行程序

3. Intellij IDEA常见问题及解决方案

  1. 编码问题 
    Intellij IDEA的默认编码是GBK,如果代码中出现中文的话,会报错:
  1.  
    Error:scalac: IO error while decoding D:ScalaLearningsrccnscalaxtwyScalaAndJavaExceptionScalaExceptionDemo.scala with UTF-8
  2.  
    Please try specifying another one using the -encoding option
  • 1
  • 2

此时只要更改代码的编码就行,可以直接修改文件或软件配置 
直接修改文件编码如下图: 
这里写图片描述

修改软件配置过程如下: 
这里写图片描述
File–>Setting

这里写图片描述
找到Editor中的FileEncoding,可以将工作都设置为UTF-8

2 修改默认快捷键 
对一eclipse转过来的用户,习惯了eclipse中的快捷键,想在Intellij IDEA中也使用相同的快捷键,这时可以对默认快捷鍵进行修改。 
这里写图片描述
File–>Setting 
这里写图片描述
选择Setting中的keymap,Intellij IDEA中的所有快捷键都可以看到

4. Intellij IDEA常用快捷键

下面的快捷键,最好自己试一下,这样的话就能明白它到底是干什么用的,语言描述可能不到位

快捷鍵用法描述
Ctrl+Shift+A根据名称查找操作,例如查找创建scala class操作
Alt+F1视图切换
Ctrl+Tab工具窗口、正在编辑的代码文件切换
Alt+Home显示导航条
Ctrl+J插入代码模板,例如main方法
Ctrl+Alt+J将选中的代码用代码模板包裹
F4打开工程配置窗口
Ctrl+Slash注释代码 //
Ctrl+Shift+Slash注释代码 /**/
Ctrl+N/Ctrl+Shift+N输入名称查询类或文件
Ctrl+D复制选中的代码
Ctrl+W / Ctrl+Shift+W智能地进行代码选择
Ctrl+F在当前文件中进行文本内容查找
Shift+Shiftsearch everywhere
Ctrl+Shift+F7高亮显示先中的方法或符号在当前文件中的使用情况
Ctrl+Space代码自动提示
Ctrl+Shift+Enter语句自动完成
Alt+enter代码自动修正

免责声明:文章转载自《使用idea搭建Scala 项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浮动:图片文字两栏布局JMeter接口测试从入门到实战--01-- 接口测试基础-接口测试介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

IIS Express加入MIME映射

       近期在用Grid Report做Web报表的时候,碰到一件非常挠头的事。   本地用VS2010写的代码,调试的时候Web报表无法显示,用24.248server上VS2013相同仍是无法显示。最后把项目部署在IISserver上还是无法显示。   然后就是各种百度。度娘说在IIS上面没有建立MIME映射,所以浏览器无法载入grf文件。好...

文件加锁(基于FileChannel)

      JDK1.4引入了文件加锁机制。它允许我们同步访问某个作为共享资源的文件。不过,竞争同一文件的两个线程可能在不同的Java虚拟机上,或者一个是Java线程,另一个是操作系统中的其他的某个本地线程。文件加锁对其他的操作系统进程是可见的,因为Java的文件加锁直接映射到了本地操作系统的枷锁工具。       通过对FileChannel调用tryL...

Qt下开发及调用带界面的DLL

0.背景 由于某项目需要,在Qt下开发及调用带界面的DLL。由于中间折腾时间较长才搞定,在这记录一下。 本帖子中所用Qt版本为QtCreator 4.10.2.基于Qt5.13.2(MSVC 2017,32位) 1. Qt DLL开发 1.1 工程建立 新建工程,选择:Library->C++ Library在工程细节中Qt module中选择 Wi...

最简单实用的MongoDB安装教程:在CentOS中使用 yum 安装MongoDB及服务器端配置详解

一、准备工作: 运行yum命令查看MongoDB的包信息 [root@vm ~]# yum info mongo-10gen (提示没有相关匹配的信息,) 说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.rep...

Delphi跨进程间消息通讯

多个不同进程之间的消息传递有多种方式,但若传递的信息量不大,借用WINDOW的消息机制不失为一种简易有效的方法, 01. 注意 PostMessage  与 SendMessage 之间的异同;   PostMessage: 异步消息模式,负责向指定的句柄发送消息,不等待结果直接返回;         一般适用于进程内的信息传递处理;(如多个不同线程向主线...

Crontab定时任务配置

前言 crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是要求你的调度程序比较可靠,实际工作中,90%的程序都没有必要花这么多时间和精力去解决上面的两个问题的,只需要...