IDEA

介绍

https://www.jetbrains.com

 IDEA: Java开发环境

 WebStorm: Web开发环境

使用顺序

 准备工作

  安装JDK

建议使用高版本的 JDK,一般来说性能更好。

  安装SVN

Ubuntu

apt-get install subversion

Windows

https://sliksvn.com/download/

  安装字体

Windows 下可选的字体比较多,略。

Ubuntu

apt-get install fonts-wqy-microhei

 启动

  优化JVM参数

修改 bin/idea64.vmoptions,基本上调一下内存参数即可,如:

-Xms512m

-Xmx1536m

Windows - 加两行

-Dfile.encoding=UTF-8

-Dgroovy.source.encoding=UTF-8

  通过 bin/idea.sh 启动

  License 注册

涉及敏感信息,略

  禁用不需要的插件

出了第一次启动可以禁用插件,在 Setting / Plugins 里也可以禁用。

建议不要安装:ideaVim 插件,如果发现无法 Ctrl + C、Ctrl + P 复制、粘贴文本,应该就是这个插件捣的鬼;除非你希望在 ide 里联系 vi 的使用。

 导入工程

  Import Project

可以直接从 GGTS 的 Workspace 中导入工程和 SVN 信息。

  Check out from Version Control

1、选择仓库和工程

2、选择本地文件夹

注意:一般情况下 Destination 里选择最后一个

Checkout 后,导入工程的时候会自动进行“编译”和索引,可能比较慢,稍后。“编译”后会在根文件夹下生成很多 .iml 文件,以及一个 .idea 文件夹,并逐一询问是否计划要将这些文件提交到SVN,一般选否。

 配置IDE

  视图

菜单 View,建议勾选 Tool Buttons、Toolbar(可选),显示上下左右的工具栏。

对于虚机,可以禁用动画提升些许性能:

Setting / Appearance 下,取消 Windows Options 的 Animate Windows

  编辑器

   调整字体

打开 Settings

Editor/Colors & Fonts/Font:

先将 Schema 另存为(Save As)一个自己的,然后才可以修改字体。

去掉 “Show only monospaced fonts”,分别选择 “Ubuntu Mono” 和 “文泉驿等宽微米黑”;

字体大小可设为 14 或 16、间距 1.1。

Editor/Colors & Fonts/Console Font

可选:大小设为 14、间距 1

   Tab键

Idea 默认 tab 转成空格,咱们习惯 tab 就是 tab,需要调整。

Setting / Code Style:

各种语言,勾选“Use tab character”,不要选“Smart Tabs”

   显示行号

Settings/Editor/General/Appearance:

勾选上 show line numbers,此外 show method separators 功能也不错

   标签配置

可以允许多行标签、设置更大的 Tab limit(避免老文件被关闭).....

   默认的换行符、字符编码集

我们多数在 Linux 下开发,用 Windows 的建议保持一致:

1、在 Setting / Code Style 里,将 Line seperator 设置为 “Unix and OS X (\n)”。

2、在 Editor / File Encodings 中,将 IDE Encoding、Project Encoding、Properties Files 都改成 UTF-8

   关于保存

IDEA 的 Ctrl + S 热键是保存所有文件。

此外,默认情况下,如果编辑器失去焦点,就会马上保存所有已修改的文件,可以在 Setting 中关闭 “Save files on frame deactivation”。

  自定义快捷键设置

Settings / Keymap:

可以选择 Eclipse 主体,或者 Copy 另存一个自己的。

我修改的有:

Delete Line 加了 Ctrl+D

Comment with line comment 加了 Ctrl+Shift+C

  优化索引

索引(Indexing)是比较消耗资源的,可以将 .sass-cache、logs、target 等文件夹过滤掉:

直接在 Alt + 1 中,右键选择文件夹,然后 Mark Directory As / Excluded。

  VCS

给发生变化的所有父文件夹加颜色(可选):

Version Control / show directories with changed descendants

常见问题

 杀进程

杀了 Java 进程后,还需要 ps -ef | grep idea,检查遗留的进程,都 kill 掉就OK了。

如果是 WebStorem 则 ps -ef | grep WebStorm。

 VCS

  QDBusConnection: session D-Bus ...

提交、更新、同步时异常:

QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave

解决方案:

File --> Settings / Search about "Version Control" --> "Subversion" / Click on "Clear Auth Cache" button. /Press OK.

  总弹出 kwallet 的输入密码的窗口

vi ~/.subversion/config 加两行/或修改:

[auth]

password-stores = gnome-keyring

  Server SSL certificate rejected

SSL 证书过期会导致该问题,可以:

在 Settings/Version Control/Subversion 的 General 页签中,勾选上 “Enable interactive mode”;

然后再执行 SVN 操作,会提示是否接受证书;

接受证书后可能还会提示无法打开某个文件、拒绝访问之类的,将此文件删除后,再执行操作就OK了,删除的文件比如:

~/.subversion/auth/svn.ssl.server/2cc0eadff064af73f4f2a91c41cecf57

  新增的文件(夹)未提交

一般情况下,新增文件(夹)时,会提示是否计划将它提交到 SVN,选择是就对了,文件的颜色是绿色的,否则颜色是棕色的。

如果是后者,选择文件后,右键 Subversion 选择 Add to VCS,然后就可以在 VCS 的 Local Changes 面板的 Default 分组中看到这些文件,提交即可。

或者,也可以在 Local Changes 面板的 Unversioned Files 分组中找到这些文件,同上操作。

 编码

  Cannot resolve symbol 或“.”后无法只能提示

选择对应的类,Alt + Enter,然后选择 “Add dependency on mudule ....”、“Add library ... to classpath” 等即可,该操作会将一些依赖信息写入到对应的 .imp 工程文件中。

此外,对于我们个 Grails 工程,建议根据模板更新 g 脚本和 BuildConfig,就都能解析了。

  无法用热键复制粘贴

看看是不是安装了 ideaVim 插件,是的话禁用它。

使用技巧

 不可不记的常用热键

Ctrl+N 查询类并打开,相当于 Eclipse 的 Ctrl+T

Ctrl+Shift+N 查询文件并打开

Ctrl+F 当前文件中搜索,F3、Shift+F3定位下一个

Ctrl+R 当前文件中替换

Ctrl+Shit+F 在工程中搜索

Ctrl+Shit+R 在工程中替换

Ctrl+Shift+Alt+N 在工程中搜索 Symbol(如方法名、属性名等)

Shift + Esc 关闭其他面板(将空间留给编辑窗口)

Ctrl+E 显示最近打开的文件列表

Ctrl+Tab 在打开的文件页签间切换;如果 Ctrl 不释放,可以选择页签

Ctrl+G 跳到第N行

Ctrl+Shift+Back 跳到最近编辑的位置

Ctrl+F12 显示文件结构 - 比 Alt + 7 来得快

F11 设置书签

Ctrl+F11 设置书签及快捷方式(比如1,则 Ctrl+1 切换到书签位置)

Shift+F11 显示工程中所有书签

Alt+Up/Down 移动到上/下一个类方法或变量

Ctrl+]/[ 移动到代码块的开始/结束

Ctrl+Shift+U 切换大小写

Alt + Enter 提示并修复错误。通过 F2、Shift+F2在错误中跳转

Ctrl + F4 关闭当前文件页签(鼠标中键也可以)

Shift + F6 重构:重命名

Shift Shift 万能的查询 - 文件、类、操作等

Ctrl + D 选择两个文件比较、VCS文件比较

F7、Shift+F7 文件比较窗口中,切换到下(前)一个不同的地方

 VCS

Alt + 9 呼出 Version Control 面板

Ctrl + D 比较文件

Incoming 页签:

显示需要更新的版本信息,第一次使用时,点面板左上的刷新按钮,弹出的对话框中,第一个建议设为10(默认500),第二个自动刷新根据需要选择。

在更新列表中,可以选择多个版本,在右侧查看合并的更新信息。

Local Changes 页签:

Default: 本地修改的、未提交的代码,可以按文件夹显示或平铺显示

Unversioned Files: 本地新增、但是不准备提交SVN的文件。如果发现某些新增的文件没有被提交,注意看是不是放在这里。

Ignored Files: 通过SVN属性设置为不提交的文件。

文件操作:

可以在 Project、或者文件编辑窗口中,通过右键 Subversion 访问相关的操作。

  同时编辑多个工程

默认情况下,一个 IDEA 窗口对应一个工程,如果要批量编辑、比较多个工程的代码,或者要同时对多个工程进行 Code Review,这就不太方便了。可以用下面的解决方案:

1、打开菜单 File / Project Structure,选择 Modules,点 + 号、New Module,然后直接 Next(一般选静态 Web 模块),在 Content Root 中选择其他 Checkout 了的工程文件夹;OK 后在 Project 视图中就能看到新的模块,并且可以进行多个工程的比较、更新、代码提交/Review 等操作。

2、通过操作系统,将其他工程 ln -s 到当前工程目录下。

最后:除非要同时修改多个工程里的内容,一般情况下不建议同时编辑多个工程,会导致一堆依赖冲突,失去一些 idea 带来的智能化的特性。

  查看仓库

菜单 VCS / Browse VCS Repository

  Changelist

如果同时进行多个任务,Changelist 能很好的帮你组织不同任务中的代码:

比如新建一个 Changelist 并且激活它,那么当前修改的文件都会在这个 Changelist 中显示,提交的时候也就比较好区分哪些修改的文件属于哪个任务了。

 中文语言包

首先,个人并不推荐大家使用汉化,但是如果非常需要再用。

下面的资料来自网络,未测试。

1、首先下载汉化包:IDEAWebStorm

2、找到 idea 安装目录下的 lib\resources_en.jar 文件;

3、复制一份并更名为 resources_cn.jar,用 WinRAR(Windows) 或者归档管理器(Ubuntu)打开(仅打开而不是解压) ;

4、将下载的汉化包 zh_CN 目录下的所有文件拖到刚才打开的 resources_cn.jar 文件内的 messages 目录中,并保存;

5、再将 resources_cn.jar 复制回原安装目录,重启即可。

 插件

第一次启动时,可以禁用部分插件,此外,在 Setting/Plugins 菜单中,可以启用、禁用插件。

此外,这里还可以安装、搜索其他插件,比如我加了 BatchSupport、Batch Script Support 两个插件,用于编辑 g、g.bat 脚本。

 在IDE中运行或Debug

更新 g 脚本和 BuildConfig 后,即可支持在 IDE 中直接运行和断点调试。

 一些网上教程

https://github.com/damao/Intellij-IDEA-F2E