zoukankan      html  css  js  c++  java
  • 在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 说明

  • 相关阅读:
    mac os programming
    Rejecting Good Engineers?
    Do Undergrads in MIT Struggle to Obtain Good Grades?
    Go to industry?
    LaTex Tricks
    Convert jupyter notebooks to python files
    How to get gradients with respect to the inputs in pytorch
    Uninstall cuda 9.1 and install cuda 8.0
    How to edit codes on the server which runs jupyter notebook using your pc's bwroser
    Leetcode No.94 Binary Tree Inorder Traversal二叉树中序遍历(c++实现)
  • 原文地址:https://www.cnblogs.com/yimu/p/jslint.html
Copyright © 2011-2022 走看看