Intellij IDEA

Intellij IDEA 前端开发指南
https://github.com/damao/Intellij-IDEA-F2E

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

 

CodeIgniter Disallowed Key Characters.

 CodeIgniter 是什么?

  • 你想要一个小巧的框架。
  • 你需要出色的性能。
  • 你需要广泛兼容标准主机上的各种 PHP 版本和配置。
  • 你想要一个几乎只需 0 配置的框架。
  • 你想要一个不需使用命令行的框架。
  • 你想要一个不需坚守限制性编码规则的框架。
  • 你对 PEAR 这种大规模集成类库不感兴趣。
  • 你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
  • 你不喜欢复杂,热爱简单。
  • 你需要清晰、完善的文档。

CodeIgniter@飞鱼 @给 @余果 又@给我的

 

(庙) miao.in 是基于 CodeIgniter 开发

改造大概花了个把小时,因为(庙)实在是太简单的网站

 

Disallowed Key Characters.

突然有一天出现了 Disallowed Key Characters. 这个错误,满 Google 都在说,你的 cookie 出现了非法字符

干,老子还没用到 Cookie 呢

打开Chrome调试器发现有个 Cookie 的

Key: 1345466626|7601294|43373|0|0|0

然后用 Intellij IDEA 搜了一下 “Disallowed Key Characters”

system/core/Input.php line 603

写着

if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) { exit('Disallowed Key Characters.'); }

日哦,身为正则小王子的大猫一看眼泪都流下来

改成了

PS,这”|”不可写到”-“后面,懂的自然懂,不懂照着改

 

那么这个带”|”的 Cookie 哪里来的呢?

电·信·弹·窗·广·告,我·干·里·良!

此 BUG 已经提交官方修复

github 上提交了,原作者脚的有道理,就合并修复了,新版本应该没啥问题

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