找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3801|回复: 2

[教程] JS语法检查插件 jsLint for Vim

[复制链接]
发表于 2012-1-16 11:41:56 | 显示全部楼层 |阅读模式 来自 中国–江苏–南京
工欲善其事,必先利其器。作为更专业的前端工程师,我们需要强劲的IDE协助我们写出规范、美观、漂亮的JavaScript代码,首先要作的就是对代码进行合法性检查,而通过 www.jslint.com 进行手工操作又显得碍手碍脚。为了提高效率,这里推荐使用jsLint + Vim(gVim),能够协助你达到事半功倍的效果。
首先,和 JavaScriptLint 不同[注1]jsLint 是需要 JavaScript 引擎的支持的,linux中可选的有基于 C 语言的 Spidermonkey和基于 Java 的Rhino,考虑到速度,推荐使用 Spidermonkey。另外,jsLint.vim初始配置挂载的**有些冗余,这会导致Vim运行很慢,影响编码的效率,这里我 hack 了一份jslint.vim,只用F4键就可以开启/关闭语法检查,下面介绍配置方法(linux & windows)。
jsLint + vim for Linux
1,准备JS引擎
linux 下默认没有 JavaScript 引擎,需要安装,旧版本的 ubuntu 通过apt-get来安装
  1. sudo apt-get install spidermonkey-bin
复制代码

新版的 ubuntu 需要通过下面这个包安装
https://launchpad.net/ubuntu/hardy/i386/spidermonkey-bin/1.8.1.4-2ubuntu5
其他linux发行版可以通过源码安装:
ftp://ftp.mozilla.org/pub/mozilla.org/js/
2,安装ruby环境
ubuntu下安装:
  1. sudo apt-get install ruby
复制代码

redhet系发行版中的安装:
  1. yum install ruby
复制代码
3,安装vim,通常linux中自带,不用安装
4,下载 jsLint 插件,下载后解压缩,把其中的 javascript 目录拷贝至 $VIM/plugin/中(作者给的文档有误,不应是$VIM/ftplugin/),当然也可以放到 ~/.vim/plugin/ 中
5,将解压后 jslint/bin 目录中的 jslint 文件拷贝至 /usr/bin 中,也可以拷贝到~/bin/中
6,下载 http://jayli.github.com/gallery/vim/jslint.vim 文件,覆盖 $VIM/plugin/javascript/jslint.vim
7,完成,打开一个js文件,用F4唤醒语法检查,再按F4关闭语法检查
jslint + gvim for windows
windows 下自带CScript,不用再安装其他 JavaScript 引擎
1,安装ruby运行环境
2,安装gvim,假设安装到 C:/Program Files/Vim 中
3,下载 jsLint 插件,下载后解压缩,将 ftplugin 目录中的 javascript 文件夹复制到 C:/Program Files/vim/vim72/plugin/ 目录中
4,将 jslint 解压缩后的“/bin/jslint”文件添加后缀名 “exe”,并将其所在的路径添加到环境变量的 Path 中,比如我将 jslint.exe 放到 C:/user/bachi/ 中,配置环境变量
5,下载 http://jayli.github.com/gallery/vim/jslint.vim 文件,覆盖 C:/Program Files/vim/vim72/plugin/javascript/jslint.vim
6,修改这个 jslint.vim文件,将 vim 安装路径替换为绝对路径,找到
  1. expand("~/vimfiles/ftplugin/javascript")
复制代码

修改为
  1. expand("C:/Program Files/Vim/vim72/plugin/javascript")
复制代码

7,完成,打开一个 js 文件,用F4唤醒语法检查,再按F4关闭语法检查
ps:其实很早之前,明城就介绍过使用 JavaScriptLint + Vim进行语法检查[注2]  ,这种方法也相当不错,但使用体验稍有缺憾,语法提示单独占用视窗,看起来更像专门的 Debug 操作,而我更希望在编码过程中,实时监控我刚写过的代码的正确性,而给出语法提示也不应当进入一个“Debug”过程,只要编辑过程中,我用眼睛余光能注意到光标所在行的错误提示就可以了,没必要打开一个视窗给我看我有多少bug,另外,JavaScriptLint 的语法检查非常苛刻,我希望能有更加实用更加宽松的语法检查。很碰巧,jsLint 可以满足我这种挑剔的需求 ^_^
[注1]:JavaScriptLint的语法检查相比老道的 jsLint更为苛刻,大量鸡肋警告非常干扰视线,比如jquery-1.4.2.js通过 JavaScriptLint 检查有164个警告,通过 jsLint 检查只有10个警告,正是因为此,JavaScriptLint 实际上增加了我们编码的负担。
[注2]:明城的文章中有小小的误导,JavaScriptLint 和 jsLint 是两个不同的东东,这里推荐的是老道的 jsLint,而不是JavaScriptLint。

评分

参与人数 1金币 +5 收起 理由
光明使者 + 5 赞一个!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2012-2-22 09:43:19 | 显示全部楼层 来自 中国–河南–新乡
好帖,今天发现从百度带来ip了

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-22 09:44:54 | 显示全部楼层 来自 中国–江苏–南京
{:soso_e113:}

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 12:25 , Processed in 0.048300 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表