鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全  HTML/ vim 如何使用 prettier-eslint 根據(jù) eslint 配置格式化

vim 如何使用 prettier-eslint 根據(jù) eslint 配置格式化代碼

我想在 vim 上用 prettier 格式化代碼,但是發(fā)現(xiàn) vim-prettier 插件并不能根據(jù)不同項目的 eslintrc 做出相應(yīng)的格式化,所以想直接通過 vim 的方式來進行格式化。

按照 prettier-eslint-cli 文檔來看,好像是可以這么去用

Vim users can add the following to their .vimrc:

autocmd FileType javascript set formatprg=prettier-eslint\ --stdin

This makes prettier-eslint-cli power the gq command for automatic formatting without any plugins. You can also add the following to your .vimrc to run prettier-eslint-cli when .js files are saved:

autocmd BufWritePre *.js :normal gggqG

我不想在保存文件的時候去格式化文件,所以第二種我沒試過。我用第一種方法,發(fā)現(xiàn)是要先選中代碼,然后再輸入命令 gq才對選中文件格式化,這樣有個問題就是————這樣傳給 prettier-eslint-cli 的就不是一個具體的文件。會導(dǎo)致 prettier-eslint-cli 無法根據(jù)文件路徑去索引 eslintrc 配置文件,從而無法實現(xiàn)根據(jù) eslintrc 配置文件格式化代碼的需求。

下面可以貼一下,我在 vim 運行后的調(diào)試信息

clipboard.png

從圖中第一行就能看出 getting eslint config for file at 'undefined',而如果在控制臺中直接輸命令行來格式化文件prettier-eslint index.js -l debug,就不是 undefined 了

clipboard.png

所以,哪位 vim 方面的大神,能根據(jù)幫我實現(xiàn)功能呢,有沒有辦法能讓 prettier-eslint 知道當前文件的信息,從而讓其能找到 eslintrc 配置

回答
編輯回答
朽鹿

我發(fā)現(xiàn),可以用一下方式實現(xiàn)

:silent !prettier-eslint % --write

這樣做總是要彈窗一個 控制臺窗口,很是煩人,能不能直接就在后臺跑完命令,不彈出控制臺窗口

clipboard.png

2017年8月13日 07:00