在Eclipse中安装JSHint插件

离线安装

1、下载插件包 http://download.eclipsesource.com/~rsternberg/jshint-eclipse-0.9.8.20130728-0004-b94b446.zip

2、解压缩后是一个jshint-eclipse-0.9.8.20130728-0004-b94b446文件夹,拷贝至一个web容器中,可以敲地址访问的

例如:http://127.0.0.1/xx/jshint-eclipse-0.9.8.20130728-0004-b94b446 xx是项目名称,

3、在Eclipse主菜单,点击: Help > Install New Software…

输入上面的URL,然后选择 JSHint Eclipse Integration

不要急着点Next,当前界面最下一行的复选框勾去掉(Contact all update sites during install to find required software)
后面的安装过程很简单,往下按确定就可以了

 在线安装或如何配置?

请参照这里 http://www.cnblogs.com/lhb25/archive/2012/04/05/javascript-validation-with-jshint-eclipse.html

按道理可以直接使用了,但似乎还是不行...

需修改配置,步骤如下:

1、下载官方的jshint.js https://raw.github.com/jshint/jshint/master/dist/jshint.js (可选操作

Window > Preferences > JSHint   点击JSHint 选择Provide a custom JSHint library file  然后选择刚才下载的jshint.js文件

2、配置验证的选项 Window > Preferences > JSHint > Configuration

 1 {
 2     "maxerr": 50, 
 3     "bitwise": true, 
 4     "camelcase": false, 
 5     "curly": true, 
 6     "eqeqeq": true, 
 7     "forin": true, 
 8     "immed": false, 
 9     "indent": 4, 
10     "latedef": false, 
11     "newcap": false, 
12     "noarg": true, 
13     "noempty": true, 
14     "nonew": false, 
15     "plusplus": false, 
16     "quotmark": false, 
17     "undef": true, 
18     "unused": true, 
19     "strict": true, 
20     "trailing": false, 
21     "maxparams": false, 
22     "maxdepth": false, 
23     "maxstatements": false, 
24     "maxcomplexity": false, 
25     "maxlen": false, 
26     "asi": false, 
27     "boss": false, 
28     "debug": false, 
29     "eqnull": false, 
30     "es5": false, 
31     "esnext": false, 
32     "moz": false, 
33     "evil": false, 
34     "expr": false, 
35     "funcscope": false, 
36     "globalstrict": false, 
37     "iterator": false, 
38     "lastsemic": false, 
39     "laxbreak": false, 
40     "laxcomma": false, 
41     "loopfunc": false, 
42     "multistr": false, 
43     "proto": false, 
44     "scripturl": false, 
45     "smarttabs": false, 
46     "shadow": false, 
47     "sub": false, 
48     "supernew": false, 
49     "validthis": false, 
50     "browser": true, 
51     "couch": false, 
52     "devel": true, 
53     "dojo": false, 
54     "jquery": false, 
55     "mootools": false, 
56     "node": false, 
57     "nonstandard": false, 
58     "prototypejs": false, 
59     "rhino": false, 
60     "worker": false, 
61     "wsh": false, 
62     "yui": false, 
63     "nomen": false, 
64     "onevar": false, 
65     "passfail": false, 
66     "white": false, 
67     "globals": { }
68 }

详细参数说明:

 1 {
 2     // JSHint Default Configuration File (as on JSHint website)
 3     // See http://jshint.com/docs/ for more details
 4 
 5     "maxerr"        : 50,       // {int} Maximum error before stopping
 6 
 7     // Enforcing
 8     "bitwise"       : true,     // true: Prohibit bitwise operators (&, |, ^, etc.)
 9     "camelcase"     : false,    // true: Identifiers must be in camelCase
10     "curly"         : true,     // true: Require {} for every new block or scope
11     "eqeqeq"        : true,     // true: Require triple equals (===) for comparison
12     "forin"         : true,     // true: Require filtering for..in loops with obj.hasOwnProperty()
13     "immed"         : false,    // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
14     "indent"        : 4,        // {int} Number of spaces to use for indentation
15     "latedef"       : false,    // true: Require variables/functions to be defined before being used
16     "newcap"        : false,    // true: Require capitalization of all constructor functions e.g. `new F()`
17     "noarg"         : true,     // true: Prohibit use of `arguments.caller` and `arguments.callee`
18     "noempty"       : true,     // true: Prohibit use of empty blocks
19     "nonew"         : false,    // true: Prohibit use of constructors for side-effects (without assignment)
20     "plusplus"      : false,    // true: Prohibit use of `++` & `--`
21     "quotmark"      : false,    // Quotation mark consistency:
22                                 //   false    : do nothing (default)
23                                 //   true     : ensure whatever is used is consistent
24                                 //   "single" : require single quotes
25                                 //   "double" : require double quotes
26     "undef"         : true,     // true: Require all non-global variables to be declared (prevents global leaks)
27     "unused"        : true,     // true: Require all defined variables be used
28     "strict"        : true,     // true: Requires all functions run in ES5 Strict Mode
29     "trailing"      : false,    // true: Prohibit trailing whitespaces
30     "maxparams"     : false,    // {int} Max number of formal params allowed per function
31     "maxdepth"      : false,    // {int} Max depth of nested blocks (within functions)
32     "maxstatements" : false,    // {int} Max number statements per function
33     "maxcomplexity" : false,    // {int} Max cyclomatic complexity per function
34     "maxlen"        : false,    // {int} Max number of characters per line
35 
36     // Relaxing
37     "asi"           : false,     // true: Tolerate Automatic Semicolon Insertion (no semicolons)
38     "boss"          : false,     // true: Tolerate assignments where comparisons would be expected
39     "debug"         : false,     // true: Allow debugger statements e.g. browser breakpoints.
40     "eqnull"        : false,     // true: Tolerate use of `== null`
41     "es5"           : false,     // true: Allow ES5 syntax (ex: getters and setters)
42     "esnext"        : false,     // true: Allow ES.next (ES6) syntax (ex: `const`)
43     "moz"           : false,     // true: Allow Mozilla specific syntax (extends and overrides esnext features)
44                                  // (ex: `for each`, multiple try/catch, function expression…)
45     "evil"          : false,     // true: Tolerate use of `eval` and `new Function()`
46     "expr"          : false,     // true: Tolerate `ExpressionStatement` as Programs
47     "funcscope"     : false,     // true: Tolerate defining variables inside control statements"
48     "globalstrict"  : false,     // true: Allow global "use strict" (also enables 'strict')
49     "iterator"      : false,     // true: Tolerate using the `__iterator__` property
50     "lastsemic"     : false,     // true: Tolerate omitting a semicolon for the last statement of a 1-line block
51     "laxbreak"      : false,     // true: Tolerate possibly unsafe line breakings
52     "laxcomma"      : false,     // true: Tolerate comma-first style coding
53     "loopfunc"      : false,     // true: Tolerate functions being defined in loops
54     "multistr"      : false,     // true: Tolerate multi-line strings
55     "proto"         : false,     // true: Tolerate using the `__proto__` property
56     "scripturl"     : false,     // true: Tolerate script-targeted URLs
57     "smarttabs"     : false,     // true: Tolerate mixed tabs/spaces when used for alignment
58     "shadow"        : false,     // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
59     "sub"           : false,     // true: Tolerate using `[]` notation when it can still be expressed in dot notation
60     "supernew"      : false,     // true: Tolerate `new function () { ... };` and `new Object;`
61     "validthis"     : false,     // true: Tolerate using this in a non-constructor function
62 
63     // Environments
64     "browser"       : true,     // Web Browser (window, document, etc)
65     "couch"         : false,    // CouchDB
66     "devel"         : true,     // Development/debugging (alert, confirm, etc)
67     "dojo"          : false,    // Dojo Toolkit
68     "jquery"        : false,    // jQuery
69     "mootools"      : false,    // MooTools
70     "node"          : false,    // Node.js
71     "nonstandard"   : false,    // Widely adopted globals (escape, unescape, etc)
72     "prototypejs"   : false,    // Prototype and Scriptaculous
73     "rhino"         : false,    // Rhino
74     "worker"        : false,    // Web Workers
75     "wsh"           : false,    // Windows Scripting Host
76     "yui"           : false,    // Yahoo User Interface
77 
78     // Legacy
79     "nomen"         : false,    // true: Prohibit dangling `_` in variables
80     "onevar"        : false,    // true: Allow only one `var` statement per function
81     "passfail"      : false,    // true: Stop on first error
82     "white"         : false,    // true: Check against strict whitespace and indentation rules
83 
84     // Custom Globals
85     "globals"       : {}        // additional predefined global variables
86 }

相关参考资料:

  jshint官网 

  在 Eclipse 中使用 JSHint 检查 JavaScript 代码

  在Eclipse中使用JSLint保证JavaScript代码质量 

  jsint4java 精简安装

  JSLint for eclipse 安装以及setting 说明

posted @ 2013-10-08 17:04  易木  阅读(8715)  评论(0编辑  收藏  举报