主要内容

  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.  
    def main(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:\ScalaLearning\src\cn\scala\xtwy\ScalaAndJavaException\ScalaExceptionDemo.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+Shift search everywhere
Ctrl+Shift+F7 高亮显示先中的方法或符号在当前文件中的使用情况
Ctrl+Space 代码自动提示
Ctrl+Shift+Enter 语句自动完成
Alt+enter 代码自动修正

使用idea搭建Scala 项目的更多相关文章

  1. scala工具sbt的安装和使用;idea如何创建scala项目

    scala的sbt类似于java的maven mac:brew install sbt linux:yum Install sbt 或者下载二机制包 使用sbt需要想mvn一样搭建公司私服,不然,下载 ...

  2. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  3. 零配置简单搭建SpringMVC 项目

    SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...

  4. 关于使用ABP框架搭建的项目升级时需要注意的问题汇总

    ABP理论学习总目录 一步一步使用ABP框架搭建正式项目系列教程 ABP之Module-Zero学习目录 本篇目录 说明 升级方法 问题_01:Log4Net导致编译不成功 2015/12/18更新 ...

  5. 3 分钟轻松搭建 Ruby 项目自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这是一篇关于 Ruby 项目持续集成的快速指导教程,教大家如何使用 f ...

  6. 【maven】 在 MyEcplise上使用maven搭建Web项目

    二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目   2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置   4.新创建的项目结构如下 ...

  7. 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做 ...

  8. 搭建PhoneCat项目的开发与测试环境

    AngularJS官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些Android手机,了解它们的详细信息,并进行搜索和排序操作. 获取源代码 PhoneCa ...

  9. 在vue-cli搭建的项目中增加后台mock接口

    用vue-cli搭建一个前端开发环境确实是极其方便,在写前端代码肯定也是少不了需要调用后台提供的业务接口进行前后端交互,特别在敏捷开发中,前后端都要提前确定业务接口并进行打桩,在开发过程中基本是没有现 ...

随机推荐

  1. 在越狱的iPhone/iPad上安装自开发环境

    自开发跟自编译意思一样,后者表示一个开发语言的开发能力成熟度:前者则表示一个开发平台的开发能力成熟度. iPhone跟iPad面世这么多年,一直无法摆脱"娱乐"工具的宿命.Appl ...

  2. MySQL 隔离级别

    一.事务特性 1.原子性 事务是一个原子操作单元,事务中包含的所有操作要么都做,要么都不做,没有第三种情况. 2.一致性 事务操作前和操作后都必须满足业务规则约束,比如说A向B转账,转账前和转账后AB ...

  3. tcp没用吗?为什么MOBA、“吃鸡”游戏不推荐用tcp协议

    本文由云+社区发表 作者:腾讯云游戏行业资深架构师 余国良 MOBA类和"吃鸡"游戏为什么对网络延迟要求高? 我们知道,不同类型的游戏因为玩法.竞技程度不一样,采用的同步算法不一样 ...

  4. 痞子衡嵌入式:第一本Git命令教程(2)- 连接(remote/clone)

    今天是Git系列课程第二课,上一课我们已经学会在本地创建一个空仓库,痞子衡今天要讲的是如何将本地仓库与远程建立联系. 1.将本地仓库挂上远程git remote 本地建好了仓库,我们希望能够挂到远程服 ...

  5. spring-mvc里的 <mvc:resources> 及静态资源访问

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL.配置如下: <servlet> <servlet-name>Sp ...

  6. Docker日志管理--docker部署安装ELK (十一)--技术流ken

    Docker logs 对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端 ...

  7. 浅谈cookie和session

    Cookie简介 Cookie(复数形态Cookies),中文名称为“小型文本文件”,指某些网站为了辨别用户身份或存储用户相关信息而存储在用户本地终端(Client Side) 上的数据(通常为加密数 ...

  8. [转]nodejs使用request发送http请求

    本文转自:https://blog.csdn.net/dreamer2020/article/details/52074516/ 在nodejs的开发中,有时需要后台去调用其他服务器的接口,这个时候, ...

  9. Java 学习笔记 线程控制

    题目一 本质上来说,线程是不可控制的,线程的执行是由CPU资源分配决定的,我们无法干预系统CPU的资源分配,但我们可以增加条件来让线程按照我们的预想顺序来执行. 比如.如果当前的执行的线程不满足我们所 ...

  10. angular路由为空重定向到指定路由

    { path: '', redirectTo: 'home', pathMatch: 'full' }