经过配置这一插件的坎坷之路,我得到的最佳教训就是:程序员,一定要学好英文!!!
能自己去官网研究的东西,就尽量少去看中文翻译。
Sublime Text是现在很热门的一款编辑器,当然其自身功能已经不同凡响,若有插件相助,简直如虎添翼。对于开发JavaScript的程序而言,一款合适的检测插件很必要。经过一些了解,我选择了jshint作为目标,以下为大致安装步骤。
1.通过package control安装Sublimelinter,然后安装SublimeLinter-jshint。
2.安装完后,注意其功能实现需要node.js支持,所以去https://nodejs.org(node.js官网)单击install进行下载安装。
3.完成后,在控制台输入npm install -g jshint
4.此时,一般情况下,你打开编辑器,会发现,已经有了语法校验。
(觉得如上操作不够详尽,可以参考:http://gaohaoyang.github.io/2015/03/26/sublimeLinter/)
然后重点来了,假如你按如上步骤操作,发现没有成功出现提示的话,请继续看下去:
出现这种情况有可能是因为node.js安装位置进行了变更(此仅为本人情况)。
1.此时可以查看SublimeLinter-jshint说明文档,有如下配置说明。依此说明进行操作。
2.请在你的node.js安装目录下搜到一个.jshintrc(不要遗漏开头的点)文件,复制下它的路径。
3.点击下图的 Tools >> SublimeLinter >> open User Settings,打开配置文件 。
4.找到jshint的“args”属性,添加如下内容:["--config", "此处为之前复制的路径"] (效果如下所示)
(附:每个人、团体的编码风格和规范不一致,可以用编辑器打开.jshintrc文件进行配置。这也是jshint比jslint更受欢迎的一大特性。)
以下为作者在网上找的其中一个配置(参考一下http://my.oschina.net/u/923974/blog/306695):
{
"curly" : true, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"immed" : true, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"latedef" : true, // true: Require variables/functions to be defined before being used
"newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()`
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
"sub" : true, // true: Prohibit use of empty blocks
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"boss" : true, // true: Require all defined variables be used
"eqnull" : true, // true: Requires all functions run in ES5 Strict Mode
"es3" : true, // {int} Max number of formal params allowed per function
"node" : true, // {int} Max depth of nested blocks (within functions)
"-W117" : true // {int} Max number statements per function
}
OK,就这样。使用愉快。
(作者原创手打,转载请注明。)