WebStorm配置TSLint


WebStorm:

打開 File->Settings 對話框,

左側導航:Languates & Frameworks -> TypeScript -> TSLint,在右側點擊“啟用”,然后指定tslint.json配置文件的位置即可

勾選  自動配置tslint

 

勾選下面手動配置tslint

{
    "rules": {
        // TS特性
        "member-access": true, // 設置成員對象的訪問權限(public,private,protect)
        "member-ordering": [// 設置修飾符順序
            true,
            {
                "order": [ 
                    "public-static-field",
                    "public-static-method",
                    "protected-static-field",
                    "protected-static-method",
                    "private-static-field",
                    "private-static-method",
                    "public-instance-field",
                    "protected-instance-field",
                    "private-instance-field",
                    "public-constructor",
                    "protected-constructor",
                    "private-constructor",
                    "public-instance-method",
                    "protected-instance-method",
                    "private-instance-method"
                ]
            }
        ],
        "no-empty-interface":true,// 不允許空接口
        "no-parameter-reassignment":true,// 不允許修改方法輸入參數
        "prefer-for-of":true,// 如果for循環中沒有使用索引,建議是使用for-of

        // 功能特性
        "await-promise":true,// 不允許沒有Promise的情況下使用await
        "curly":true,// if/for/do/while強制使用大括號
        "forin":true,// 使用for in語句時,強制進行hasOwnProperty檢查
        "no-arg":true,// 不允許使用arguments.callee
        // "no-bitwise":true, // 不允許使用特殊運算符 &, &=, |, |=, ^, ^=, <<, <<=, >>, >>=, >>>, >>>=, ~
        "no-conditional-assignment":true,// do while/for/if/while 語句中將會對例如if(a=b)進行檢查
        // "no-console":true,// 不允許使用console對象
        "no-debugger":true,// 不允許使用debugger
        "no-duplicate-super":true,// 不允許super() 兩次使用在構造函數中
        "no-empty":true,// 函數體不允許空
        "no-eval":true,// 不允許使用eval
        "no-for-in-array":true,// 不允許對Array使用for-in
        "no-invalid-template-strings":true,// 只允許在模板字符串中使用${
        "no-invalid-this":true,// 不允許在class之外使用this
        "no-null-keyword":true,// 不允許使用null,使用undefined代替null,指代空指針對象
        "no-sparse-arrays":true,// 不允許array中有空元素
        "no-string-throw":true,// 不允許throw一個字符串
        "no-switch-case-fall-through":true,// 不允許case段落中在沒有使用breack的情況下,在新啟一段case邏輯
        "no-unsafe-finally":true,// 不允許在finally語句中使用return/continue/break/throw
        "no-unused-expression":true,// 不允許使用未使用的表達式
        "no-use-before-declare":true,// 在使用前必須聲明
        "no-var-keyword":true,// 不允許使用var
        "radix":true,// parseInt時,必須輸入radix精度參數
        "restrict-plus-operands":true,// 不允許自動類型轉換,如果已設置不允許使用關鍵字var該設置無效
        "triple-equals":true,// 必須使用恆等號,進行等於比較
        "use-isnan":true,// 只允許使用isNaN方法檢查數字是否有效

        // 維護性功能
        "indent":[true, "spaces", 4],// 每行開始以4個空格符開始
        "linebreak-style":[true,"CR/LF"],// 換行符格式 CR/LF可以通用使用在windows和osx
        "max-classes-per-file":[true,1],// 每個文件中可定義類的個數
        "max-file-line-count":[true,500],// 定義每個文件代碼行數
        "max-line-length":[true,120],// 定義每行代碼數
        "no-default-export":true,// 禁止使用export default關鍵字,因為當export對象名稱發生變化時,需要修改import中的對象名。https://github.com/palantir/tslint/issues/1182#issue-151780453
        "no-duplicate-imports":true,// 禁止在一個文件內,多次引用同一module

        // 格式
        "align":[true,"parameters","arguments","statements","members","elements"],// 定義對齊風格
        "array-type":[true,"array"],// 建議使用T[]方式聲明一個數組對象
        "class-name":true,// 類名以大駝峰格式命名
        "comment-format":[true, "check-space"],// 定義注釋格式
        "encoding":true,// 定義編碼格式默認utf-8
        "import-spacing":true,// import關鍵字后加空格
        "interface-name":[true,"always-prefix"],// interface必須以I開頭
        "jsdoc-format":true,// 注釋基於jsdoc風格
        "new-parens":true,// 調用構造函數時需要用括號
        "no-consecutive-blank-lines":[true,2],// 不允許有空行
        "no-trailing-whitespace": [// 不允許空格結尾
            true,
            "ignore-comments",
            "ignore-jsdoc"
        ],
        "no-unnecessary-initializer":true,// 不允許沒有必要的初始化
        "variable-name":[true,"check-format",// 定義變量命名規則
            "allow-leading-underscore",
            "allow-trailing-underscore",
            "ban-keywords"]
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM