我喜欢VSCode中的自动整理功能,但是每次保存时都使用它会给我带来麻烦。
...
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
...
是否可以在我暂存导入时设置一些git挂钩来组织导入(通过vscode或其他脚本/ lib)?
如果在我使用导入的方法之前过早地进行保存(一直使它更加漂亮),那么它将删除它,而我必须再次编写导入。
如果我破坏了代码(.jsx),并且似乎没有使用某些东西,并且我点击了save(触发更漂亮),那么它将删除导入。然后,我必须再次导入它们。
答案 0 :(得分:2)
运行git add
时可以应用某种形式的hook:gitconfig
和.gitattributes
中定义的过滤器。
有关详细说明,请参见this section of git book。
以下是文档中的示意图(它说明了如何配置过滤器以在*.txt
文件上运行):
git add
时:git checkout
时:您可以在gitconfig
中定义一个过滤器,该过滤器由两个用于“清理”和“涂抹”的命令组成:
$ git config --global filter.jsximports.clean fiximports
$ git config --global filter.jsximports.smudge cat
并编辑.gitattributes
文件以将此过滤器应用于jsx文件
*.jsx filter=jsximports
要应用的脚本可能是tslint --fix
,带有ordered-imports
rule。
实际上:tslint
的规则似乎有其自己的实现,但它做了类似的事情(请参见https://github.com/palantir/tslint/pull/4064)