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

  • 相关阅读:
    结对 总结
    ”耐撕“团队 2016.3.29 站立会议
    词频统计 List Array
    基本数据结构简述
    深入理解HashMap
    常用排序算法Java实现
    Spring核心组件知识梳理
    HashMap中使用自定义类作为Key时,为何要重写HashCode和Equals方法
    Nginx是什么东东?
    Java中常用的四种线程池
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/4535851.html
Copyright © 2020-2023  润新知