在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 说明

你可能感兴趣的:(eclipse)