Intellij IDEA

Intellij IDEA – Live Template

ZenCoding

神飞大湿之前介绍 ZenCoding 的时候想必同学们都会动心,年复一年的敲着 div 着实是一件有悖 DRY 的事情

Intellij IDEA 的 Live Template 早在2010年的时候就集成了 ZenCoding 和一大堆代码片段

举一些好玩的例子,例如 CSS 渐变

background-color: #000; 
background-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#FFF)); /* Safari 4+, Chrome */ 
background-image: -webkit-linear-gradient(top, #000, #FFF); /* Chrome 10+, Safari 5.1+, iOS 5+ */ 
background-image: -moz-linear-gradient(top, #000, #FFF); /* Firefox 3.6-15 */ 
background-image: -o-linear-gradient(top, #000, #FFF); /* Opera 11.10-12.00 */ 
background-image: linear-gradient(to bottom, #000, #FFF); /* Firefox 16+, IE10, Opera 12.50+ */

这么一堆,但每次需要变动的只有2个颜色
那么我们就来新建一个 Live Template

jb 是渐变的缩写,抱歉我记不住 gradient

然后我们定义只在 CSS 中生效

当我们在 CSS 文件里输入 jb 然后按tab 的时候,好玩的事情发生了

整个模板被调用,然后光标自动停留在$VAR0$的位置,接着我们输入第一个色值000,然后按回车(跳转到下一个VAR)
于是我们输入第二个色值FFF,继续按回车终止,光标停留在代码最后,完成一个渐变的输入

变量

Intellij IDEA 允许 $<variable name>$ 自定义变量,
以及 $END$ 和 $SELECTION$ 预定义变量

$END$ 是完成所有变量输入之后的光标位置
$SELECTION$ 是给按了CTRL+ALT+T的时候定义的包含模板

例如定义一个模板

{$SELECTION$}

那么选择一段文本后按 CTRL+ALT+T 选择这个模板,就会在左右套上 {}

更加进阶的用法

是给变量们定义函数和预设值,预置了四五十个函数,就不列出来了

不过不知道如何自己手动写函数,例如第二个值是经过第一个值计算的结果, 类似于 LESS 的那种,如果有大神清楚,请分享下,谢谢

IntelliJ IDEA, PHPStrom, WebStorm 前端开发指南.

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

欢迎有爱的同学 Fork

QQ群 149725975 (无关话题勿聊,热爱生命)

Intellij IDEA 入门 – 配置 Project

我是一枚前端开发工程师,熟悉 HTML CSS , 了解 JS PHP, 所以应该算已经入门, 在我们这一行,从古至今永远没有一个编辑器可以满足所有人的需求,
就像没有妹纸,你还有手

4年前入职阿里的时候受淘宝团队的熏陶,从 Dreamweaver 过渡到了 Intellij IDEA ,这几年也受过其他妹纸的勾引,最终还是离不开
SSH 管理主机的时候用 vim , 快速修改代码用 notepad++ , 一本正经写代码的时候用 Intellij IDEA.

一如大湿玉伯从 Vim 与 IDE 的讨论说起 , 合适的场景用合适的编辑器, 但保持开放的心态,勇于尝试新事物.

今天一篇 Project 的配置教程,写给第一次用 IDE 的前端开发同学们.

Web IDE 的选择

Jetbrains 公司有

  • Intellij IDEA (JAVA 等乱七八糟集合)
  • PHP Storm (PHP JavaScript CSS HTML)
  • Web Storm (JavaScript CSS HTML)

个人推荐 Intellij IDEA Ultimate 版本, 注册机QQ群 149725975 里有,觉得好用请购买 licence
这个版本更新最快,速度也最快,但占内存多点,并且有 Project,另外2个木有

Project 的理解

对于前端开发, Project 理解为 Module 的集合

Module 理解为一个工作目录

在此例里,创建了一个 Project 叫 wordpress ,然后一并创建了个叫 wordpress 的主题 Module

随后还可以继续创建 基于其他目录的 Module

例如我E盘里的一个 Project 包含了 E 盘的 wordpress 和 D 盘的miao
每一个 Module 都在左侧目录树形式列出

工作方式

是单 Module 通过切换 Project 来工作, 还是一个 Project 挂不同 Module 取决于你的项目

他们的区别在于所有功能的范围都是基于 Project 的

例如此例中 如果一个 wordpress 的 projcet 挂了 2 个 theme 的 module ,ctrl + shift + n 打开同名文件的时候会出来多个选择

所以我个人偏好无关联的项目都独立建 Project

一个是因为 Intellij IDEA 会索引分析函数提供代码提示用, Project 太复杂,机器性能又不咋滴的同学会感觉卡
另一个是因为做项目A的时候会被项目B的函数啥的干扰

可能大部分同学的目录结构都是

盘符/code

然后各种项目丢在 code 里

那么就建议每个项目建立一个 Project,通过菜单来切换

 

FAQ:

第一次用 IDE 会发现 Project 和 Module 会产生配置文件, 特别是有版本控制的时候会被提交上去很讨厌!
解决方案1: svn:ignore 或 .gitignore
解决方案2:新建的时候修改下配置文件的路径,玩法同你装软件到非C盘一样

非项目内文件如何打开?
貌似去年有个版本开始支持直接打开非项目内文件了,菜单里打开或拖拽打开

举个多 Module 的栗子?
例如经常要改 HOSTS ,那么可以吧 HOSTS 文件夹做一个 module
然后新建一个文件类型叫hosts的,给他定义注释的快捷键,就可以快捷键打开 hosts 再快捷键注释/反注释 hosts了

IntelliJ IDEA, PHPStrom, WebStorm 前端开发指南.

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

欢迎有爱的同学 Fork

QQ群 149725975 (无关话题勿聊,热爱生命)

进阶

搞完 Project ,你应该可以和常规文本编辑器一样的开始用了
但是推荐把设置过一遍,你会发现很多用不到和想不到但用得到的神奇功能
记得分享, 共同进步

下载

http://www.jetbrains.com/idea/download/index.html

 

Intellij IDEA – Task

intellij-idea-task

突然发现神器 Intellij IDEA 有了个 9 Preview 版本

下载了idea10781.exe Windows installer (includes bundled JRE 1.6.0_12)

如果原来有IDEA 8 的话,会自动获得授权

这个版本多了个超好用的 Task 管理, 为啥说超好用捏?

平时在工作的时候比如我在做 A 项目,需要打开的文件有分布在不同文件夹下的 a.htm a.js a.css
这个时候,有个贱人跑过来说,赶紧,帮我处理个需求 b.htm b.js b.css
A 项目做到一半,关掉了回头打开又得去各个文件夹找对应文件, 麻烦
要是贱人越来越多的话… c.htm d.js e.css f.uck g.od h.game
打开状态的文件会很混乱…

这个时候神器又来针灸我脆弱的小灵魂 “Task! Task! Task!”
一句话, Task 就是保存不同的工作状态用的

在多任务同时进行的时候切换得心应手,不相关的东西不会干扰你
切回原来任务的时候连光标位置都没有变, 这是怎么样的一种精神啊!

Task and Context Management

IntelliJ IDEA 9 M1 includes an early prototype of task and context management functionality: you can create tasks manually, or from JIRA issues assigned to you.
The following state is associated with each task:

  • Changelist
  • Open editors
  • Expanded branches in Project View
  • Run configurations
  • Enabled breakpoints