使用idea搭建Scala 项目
主要内容
- Intellij IDEA开发环境简介
- Intellij IDEA Scala开发环境搭建
- Intellij IDEA常见问题及解决方案
- Intellij IDEA常用快捷键
1. Intellij IDEA开发环境简介
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
输入的代码如下:
- object HelloWorld {
- def main(args: Array[String]) {
- println("Hello World")
- }
- }
- 1
- 2
- 3
- 4
- 5
- 6
点击HelloWorld.scala文件,右键
或直接ctr+shift+F10运行程序
3. Intellij IDEA常见问题及解决方案
- 编码问题
Intellij IDEA的默认编码是GBK,如果代码中出现中文的话,会报错:
- Error:scalac: IO error while decoding D:\ScalaLearning\src\cn\scala\xtwy\ScalaAndJavaException\ScalaExceptionDemo.scala with UTF-8
- 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+Shift | search everywhere |
| Ctrl+Shift+F7 | 高亮显示先中的方法或符号在当前文件中的使用情况 |
| Ctrl+Space | 代码自动提示 |
| Ctrl+Shift+Enter | 语句自动完成 |
| Alt+enter | 代码自动修正 |
使用idea搭建Scala 项目的更多相关文章
- scala工具sbt的安装和使用;idea如何创建scala项目
scala的sbt类似于java的maven mac:brew install sbt linux:yum Install sbt 或者下载二机制包 使用sbt需要想mvn一样搭建公司私服,不然,下载 ...
- 一步一步使用ABP框架搭建正式项目系列教程之本地化详解
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...
- 零配置简单搭建SpringMVC 项目
SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...
- 关于使用ABP框架搭建的项目升级时需要注意的问题汇总
ABP理论学习总目录 一步一步使用ABP框架搭建正式项目系列教程 ABP之Module-Zero学习目录 本篇目录 说明 升级方法 问题_01:Log4Net导致编译不成功 2015/12/18更新 ...
- 3 分钟轻松搭建 Ruby 项目自动化持续集成
任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这是一篇关于 Ruby 项目持续集成的快速指导教程,教大家如何使用 f ...
- 【maven】 在 MyEcplise上使用maven搭建Web项目
二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目 2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置 4.新创建的项目结构如下 ...
- 手把手教你如何搭建iOS项目基本框架
手把手教你如何搭建iOS项目基本框架 今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做 ...
- 搭建PhoneCat项目的开发与测试环境
AngularJS官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些Android手机,了解它们的详细信息,并进行搜索和排序操作. 获取源代码 PhoneCa ...
- 在vue-cli搭建的项目中增加后台mock接口
用vue-cli搭建一个前端开发环境确实是极其方便,在写前端代码肯定也是少不了需要调用后台提供的业务接口进行前后端交互,特别在敏捷开发中,前后端都要提前确定业务接口并进行打桩,在开发过程中基本是没有现 ...
随机推荐
- Dubbo(二) —— dubbo配置
一.配置原则 JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口. XML 次之,如果在 XML 中有配置,则 dubbo.properties ...
- docker-compose部署mysql无法访问
docker-compose部署mysql无法访问 这个问题困扰了我很久,当使用docker-compose部署mysql之后,进行容器后,使用mysql -u root -p 是可以访问的,而使用s ...
- MySQL 隔离级别
一.事务特性 1.原子性 事务是一个原子操作单元,事务中包含的所有操作要么都做,要么都不做,没有第三种情况. 2.一致性 事务操作前和操作后都必须满足业务规则约束,比如说A向B转账,转账前和转账后AB ...
- Java多线程概念简介 多线程中篇(一)
Java的线程与操作系统的线程 在线程的相关介绍中,有讲到“线程的实现”分为三种:内核支持,用户级以及两者混合.(这只是一种简要的分类) Java线程在JDK1.2之前,是用户线程实现的 而在JD ...
- 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(IntegrityCheck)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常 ...
- 读书笔记之第五回深入浅出关键字---把new说透
第五回深入浅出关键字---把new说透 ------你必须知道的.net读书笔记 new一个class时,new完成了以下两个方面的内容:一是调用newobj命令来为实例在托管堆中分配内存:二是调用 ...
- Java开发笔记(七十六)如何预防异常的产生
每个程序员都希望自己的程序稳定运行,不要隔三岔五出什么差错,可是程序运行时冒出来的各种异常着实烦人,令人不胜其扰.虽然可以在代码中补上try/catch语句捕捉异常,但毕竟属于事后的补救措施.与其后知 ...
- Java学习笔记之——Set容器
Set容器: 特点:无序.不重复 Set实现了Collection接口 常用方法见API 遍历: 迭代器.foreach 常用类: HashSet: 底层结构:HashMap,使用其中的键来存储元素 ...
- vue2.x 给一个对象里添加一个没有的属性
obj = {...obj, name:'addName'} //给obj对象 添加一个name字段,并且赋值为‘addName’ 参考:
- [JS设计模式]:单例模式(1)
什么是单例模式 所谓单例,就是一个类只有一个实例,实现的方法一般是先判断是否存在实例,如果存在就直接返回,如果不存在就创建了再返回.这样确保了一个类只有一个实例对象. 实现的单例有很多种方式,最简单的 ...