visual studio 2013 - jquery.d.ts kompilation misslyckades: TsLint: överskrider maximal radlängd


Jag använder VS 2013 med version 0,95 av TypeScript, men lintert misslyckas med TS-kompileringen med felet:

TsLint: app.ts kontrollerad. TsLint: jquery.d.ts kompilering misslyckades: TsLint: överskrider maximal radlängd på 140

jquery.d.ts-filen har faktiskt rader som är långt över 140 tecken långa, men jag kan inte hitta tslint-konfigurationsfilen för att ändra värdet för max-line-length.

Jag använder WebEssentials 2013, jag har inte installerat tslint som en del av ett paket (NPM eller Nuget).

Kan någon peka mig i rätt riktning? Jag tänker att det kanske är lättare att ställa in kompilering/linting utanför VS för tillfället..

Tack.

Svar #1

Du kan ändra tslint-konfigurationsfilen för att ändra gränsen för maximal linjelängd. Den använder ett hierarkiskt konfigurationssystem så att du kan avgränsa ändringen beroende på var du skapar/ändrar tslint.conf-filen.

Som standard laddas konfigurationen från tslint.json, om den finns i den aktuella sökvägen eller användarens hemkatalog, i den ordningen. (källa...)

På min Windows-dator låg den globala konfigurationsfilen i C:\Users\My.Username och ändringar här kommer att gälla för alla projekt. Att skapa eller ändra filen i roten av Visual Studio innebär att konfigurationsinställningarna endast gäller för det projektet och kommer att åsidosätta den globala konfigurationsfilen.

Det specifika konfigurationsalternativet du behöver ändra för maximal linjelängd heter max-line-length och skulle se ut ungefär så här:

"max-line-length": [true, 140]

Ändra värdet 140 för att förlänga den tillåtna längden på rader eller ändra true till false för att inaktivera regeln för maxlängd på rader.

Alternativt kan du göra som Steve har föreslagit i det andra svaret, men du behöver inte helt inaktivera tslint eftersom du kan inaktivera specifika regler. Syntaxen för det är:

/*tslint:disable:rule1 rule2 rule3*/

Så du skulle använda:

/*tslint:disable:max-line-length*/

att inaktivera regeln för max-rad-längd för den filen.

Alla konfigurationsalternativ och den regler-specifika avaktiveringen förklaras fullt ut på tslint-webbplatsen.

Svar #2

Jag tror att max-line-length-varningen gäller längden på en enskild rad, snarare än antalet rader i en fil.

Du kan antingen dela upp de långa raderna för att göra dem mindre, eller helt enkelt ignorera filer som inte är "din kod".

/* tslint:disable */
// the jquery type definition
/* tslint:enable */

eller ställ in din egen konfiguration:

-c, --config:
    The location of the configuration file that tslint will use to
    determine which rules are activated and what options to provide
    to the rules. If no option is specified, the config file named
    tslint.json is used, so long as it exists in the path.
    The format of the file is { rules: { /* rules list */ } },
    where /* rules list */ is a key: value comma-seperated list of
    rulename: rule-options pairs. Rule-options can be either a
    boolean true/false value denoting whether the rule is used or not,
    or a list [boolean, ...] where the boolean provides the same role
    as in the non-list case, and the rest of the list are options passed
    to the rule that will determine what it checks for (such as number
    of characters for the max-line-length rule, or what functions to ban
    for the ban rule).

Från https://www.npmjs.org/package/tslint

Relaterade artiklar