VSCode:在git staging时触发organizeImports
Posted
技术标签:
【中文标题】VSCode:在git staging时触发organizeImports【英文标题】:VSCode: trigger organizeImports when git staging 【发布时间】:2019-10-20 07:49:21 【问题描述】:我喜欢 VSCode 中的自动组织功能,但每次保存都这样做给我带来了一些麻烦。
...
"editor.codeActionsOnSave":
"source.organizeImports": true
,
...
当我暂存它们时,是否可以设置一些 git 钩子来组织导入(通过 vscode 或其他脚本/lib)?
问题
如果我在使用导入的方法之前过早地点击保存(这样做是为了一直更漂亮) - 然后它会删除它,我必须重新编写导入。
如果我破坏了代码(.jsx)并且似乎没有使用某些东西并且我点击保存(以触发更漂亮),那么它会删除导入。然后我必须再次导入它们。
【问题讨论】:
【参考方案1】:运行git add
时可以应用某种形式的钩子: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)
在这个答案中:https://***.com/a/57458656/86072 用户 thorn 指向这个 npm 包:https://www.npmjs.com/package/organize-imports-cli 从cli调用organizeImports
【讨论】:
非常感谢@LeGEC,这看起来是一条路。你知道fiximports
的工具/脚本吗?
@Norfeldt : 呵呵 :) 不。 “organizeImports”代码是打字稿代码库的一部分,但我还没有找到如何从命令行调用它。您可以针对该部分提出问题。
我确实认为我的问题正是关于那部分的 ;-)
授权:***.com/questions/56472989/…
感谢您发布这个?♂️?以上是关于VSCode:在git staging时触发organizeImports的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 脚本作为提交后挂钩、触发 bash 脚本、执行 git-pull?
git stage hunk 在 git for Windows 上的工作方式不同吗? [复制]