typescript - Kuinka välttää VsCode Prettierin katkaisemasta ketjufunktioita nuolifunktioiden kanssa?
Työskentelen VSCode:n ja Prettierin kanssa, ja kun meillä on ketjutettuja funktiokutsuja, joissa on nuolifunktioita sisällä, kuten lodash-ketjussa:
let total = _(credits).filter(c => c.active).sumBy(c => c.fee);
Prettier jakautuu seuraaviin osiin:
discount = _(credits)
.filter(c => c.active)
.sumBy(c => c.fee);
Kun käytämme strings nuolifunktioiden sijaan, se ei katkea usealle riville, esimerkiksi:
let total = _(credits).filter('c => c.active').sumBy('c => c.fee');
Työskentelen seuraavan .prettierrc ja "prettier": "^2.0.5" kanssa:
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 280,
"tabWidth": 4,
"arrowParens": "avoid",
}
Kuinka voin välttää rivin katkeamisen Prettierin kanssa, kun funktion sisällä on nuolifunktio?
Vastaus #1
Ei ole vaihtoehtoa ohittaa metodiketjun katkaisukäyttäytymistä. Versiossa 2.0 Prettier käyttää uutta heuristiikkaa päättääkseen, milloin metodiketjut katkaistaan. Voit nähdä heuristiikan osoitteessa https://github.com/prettier/prettier/pull/6685/files#diff-207f1974ddc06ae7b574152f9afc878dR893.
Prettier katkaisee metodiketjut, jos argumentit eivät ole yksinkertaisia. Merkkijonoliteral katsotaan "yksinkertaiseksi", mutta nuolifunktioilmaisu katsotaan "ei-yksinkertaiseksi". Siksi näet erilaista käyttäytymistä, kun välität merkkijonoja vs. nuolifunktioita parametreina.