VSCode:git staging 时触发organizeImports

2024-01-09

我喜欢 VSCode 中的自动组织功能,但让它在每次保存时都执行此操作给我带来了一些麻烦。

...
"editor.codeActionsOnSave": {
    "source.organizeImports": true
  },
...

当我暂存导入时,是否可以设置一些 git hook 来组织导入(通过 vscode 或其他脚本/lib)?

Issues

如果我在使用导入的方法之前太早点击保存(这样做是为了始终更漂亮),那么它会删除它,我必须再次编写导入。

如果我破坏代码 (.jsx) 并且某些内容似乎未使用并且我点击保存(以触发更漂亮),那么它会删除导入。然后我必须再次导入它们。


运行时可以应用某种形式的钩子git add:过滤器定义在gitconfig and .gitattributes.

See git 书的这一部分 https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#_keyword_expansion详细解释。


以下是文档中的草图(它说明了如何配置过滤器以在其上运行)*.txt文件):

  • 跑步时git add :
  • 跑步时git checkout :

您可以在您的gitconfig一个过滤器,由“clean”和“smudge”两个命令组成:

$ git config --global filter.jsximports.clean fiximports
$ git config --global filter.jsximports.smudge cat

并编辑.gitattributes文件以在 jsx 文件上应用此过滤器

*.jsx    filter=jsximports

要应用的脚本可能是tslint --fix,与ordered-imports rule https://palantir.github.io/tslint/rules/ordered-imports/.

实际上 :tslint的规则似乎有自己的实现,但它做了类似的事情(参见https://github.com/palantir/tslint/pull/4064 https://github.com/palantir/tslint/pull/4064)

在这个答案中:https://stackoverflow.com/a/57458656/86072 https://stackoverflow.com/a/57458656/86072
用户 thorn 指向这个 npm 包:
https://www.npmjs.com/package/organize-imports-cli https://www.npmjs.com/package/organize-imports-cli
从 cli 调用organizeImports

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode:git staging 时触发organizeImports 的相关文章

  • 在有限的上下文中运行 JS 代码

    我正在尝试奔跑trusted 隔离 上下文中的 JS 代码 基本上想出了这个方法 function limitedEval src context return function with this return eval src call
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • jQuery:查找具有特定自定义属性的元素

    我只想找到具有特定自定义属性值的元素 例如 我想找一个div其具有属性data divNumber 6 var number 6 var myDiv data divNumber number 我尝试使用http api jquery co
  • Javascript 将对象推送为克隆

    我将 d3 用于交互式网络应用程序 我需要绑定的数据在交互过程中发生变化 并且由 JSON 变量中的一些选定对象组成 为此 我在 JSON 变量上使用了映射 并进行了一些查询来选择适当的对象 对象被推送到列表中 并且该列表被绑定为新数据 我
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • onClick 处理程序在每个渲染周期触发

    我有这样的默认状态 this state selectedTab tab1 then 我的渲染方法是这样的 render const selectedTab this state return li tab1 li li tab2 li d
  • 在 git 中记录前 10 个

    两个问题 如何从头到尾显示 git 中的前 10 个提交 无分行 如何指定提交索引并记录它 显示第二个或第三个 我知道 git 使用父级来链接提交 很容易从头到尾记录提交 喜欢 git log HEAD 10 但我需要从头到尾查询 可以吗
  • 如何使用 VSCode 调试 Linux 核心转储?

    我故意从我使用 VSCode 编写的 C 应用程序生成核心转储 我不知道如何调试核心转储 有没有人愿意分享这方面的经验 更新 我相信我现在已经可以使用了 我为核心文件创建了第二个调试配置 我需要添加指向生成的转储文件的 coreDumpPa
  • 如何在 Visual Studio Code 中包含编译器标志?

    我有一个程序试图在使用 fftw 函数的 Visual Studio Code 调试器中运行 它用命令编译 g dimer cpp std c 11 lfftw3 在我的计算机上的终端上 而不会抱怨未定义的引用 但是 在生成 launch
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • Angular JS - 使服务可以从控制器和视图全局访问

    假设我们有以下服务 myApp factory FooService function 然后 从控制器中 我会说 myApp controller FooCtrl scope FooService function scope FooSer
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • React Redux - 在辅助函数中访问现有存储

    我试图在反应组件之外获取存储实例 存储状态 即在单独的辅助函数中 我有我的减速器 我的动作 我在最上面的组件中创建了一个商店 configStore js import createStore from redux import gener
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont
  • 将主分支的提交合并到另一个分支,但不合并两个分支

    我有 git 存储库和一个主分支 我决定开发新功能 并且创建了新分支 new branch 我已经在 new branch 中创建了一些提交 但我还没有完成新功能 我决定修复 master 分支中的一些错误 因此我切换到 master 分支
  • 将 html 文本框的值分配给 div 的标题

    line 1
  • 为什么 JavaScript 中是 [1,2] + [3,4] = "1,23,4" ?

    我想将一个数组的元素添加到另一个数组中 所以我尝试了以下方法 1 2 3 4 它的回应是 1 23 4 到底是怎么回事 The 操作员没有为数组定义 发生的事情是 JavaScript将数组转换为字符串并将它们连接起来 Update 由于这

随机推荐

  • 在自己的 php 框架中管理 URL 路由

    我正在创建一个 PHP 框架 但我有一些疑问 框架以这种方式获取 url http web com site index 它采用第一个参数来加载控制器 site 然后加载特定的动作 index 如果您已将框架安装在基本 URL 中 则可以正
  • 如何在 Cypress.io 中强制测试失败

    在 Cypress io 中 如果满足特定条件 有没有一种方法可以强制测试失败 例如 在我的网页上 如果字符串 抱歉 出了点问题 出现在我希望测试失败的页面上 目前这就是我正在做的事情
  • 有什么方法可以知道哪个集合视图单元格位于特定点?

    我有一个 CGPoint 我想知道我的集合视图中的哪个单元格当前包含该点 有什么简单的方法可以做到这一点还是我必须编写自己的方法 我没用过UICollectionView就这么多 但有一个看起来很完美的方法 NSIndexPath inde
  • 在 Visual Studio 项目模板中添加引用?

    我正在为 VS2015 创建一个多项目模板 其中创建的项目之一引用另一个项目 如何使用模板添加参考 如果我使用 VS GUI 添加引用 它会将以下内容添加到 vcxproj 文件中
  • 理解 Node.js 中的 Promise 拒绝

    我正在尝试理解 Node js 中的 Promise 这是示例代码 con queryReturnPromise SELECT FROM bookings WHERE driverId accId AND bookingStatus con
  • dart / flutter 使用 sudo 运行进程

    我想为 mac 桌面开发一个 flutter 应用程序并使用以下命令访问 macs powermetricssudo powermetrics有没有办法在第一次运行时向用户询问此命令的 sudo 权限 嗨 我只是在玩颤振 我正在解决同样的问
  • 快捷栏操作文本颜色未改变

    我想更改小吃栏的操作文本颜色 但由于某种原因它不起作用 我使用以下代码来显示小吃栏 Snackbar make findViewById R id root text Snackbar LENGTH LONG setActionTextCo
  • knex:从结果创建数组的适当方法是什么?

    我有一个端点连接user and user emails表作为一对多关系 postgresql 它看起来如下 router get function req res next db select users id users name us
  • 以编程方式将元素拖放到另一个元素上

    使用 jQuery UI 是否可以使用 JavaScript 执行拖放操作 Example http jsfiddle net KFRu9 单击链接后 将 pony并将其放入 box 我尝试过触发拖动事件 但这似乎不起作用 pony tri
  • javascript - 如何在 firebase 中使用承诺?

    最近我被一个问题困扰 不知道如何解决 我问this https stackoverflow com questions 47775150 javascript then executing before the loop completes
  • 将占总数百分比的列添加到 Pandas 数据框中

    我有一个正在做的数据框groupby 来获取列值的计数 我正在尝试为 总计百分比 添加一个附加列 我不知道如何实现这一点 我查看了一些 groupby 选项 但似乎找不到任何合适的选项 我的数据框如下所示 DAYSLATE DAYSLATE
  • Xcode 10 'xxx' 在不同模块中有不同的定义;模块“xx”中的定义第一个区别是函数体

    In Xcode 9 just an warming update to Xcode 10 changed to error 该错误意味着ControllerImports h声明一个名为的函数 xxx 已经声明在UIKit BJL M9D
  • 出现错误变量 <变量名称> 未声明或从未分配

    我使用 Visual Studio 2008 在 winforms C 中实现了一个大表单 在对话框的大部分工作正常之后 当我尝试打开设计器时 它开始显示很多错误信息 如标题所示 该变量未声明或从未分配 我为很多以前工作正常的控件得到了这个
  • ReactJs 选择添加默认值

    如果用户不在 ReactJs 中触摸它 我想存储选择的默认值 这怎么可能
  • R 中的随机子采样

    我是 R 新手 因此我的问题可能非常简单 我有 40 个拥有丰富浮游动物的地点 我的数据如下所示 列是物种丰度 行是位点 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 0
  • .NET Core 2.0 身份和 jwt?

    我一直在四处寻找并尝试对 NET Core Identity 进行更多研究 和 Jwt json Web 令牌 我一直在我的 NET Core 2 0 应用程序中使用默认身份作为身份验证 授权 到目前为止它运行良好 我遇到了障碍 我认为这是
  • 在main方法中调用Comparator参数

    我正在实现插入排序方法 这是我的代码的要求 insertSort 方法是一个静态方法 不返回任何内容 它有两个参数 一个通用数组和一个比较器 通用 它使用合并排序算法对通用数组进行排序 我的问题是 在 main 方法中调用时 比较器参数 c
  • 如何检测TMenuItem右键单击?

    平台 delphi 2010 将 Tmainmenu 拖放到 form1 上 将 Tpopupmenu 拖放到 form1 上 添加 mainmenu1 和 popupmenu 项目 主菜单 gt 文件 gt 项目1 弹出菜单 gt 弹出项
  • GLSL:如何执行类似 switch 的语句

    我想根据传递到着色器的数据动态调用缓动 所以用伪代码来说 var easing easings easingId var value easing point 我想知道在 GLSL 中完成此任务的最佳方法 我可以以某种方式使用 switch
  • VSCode:git staging 时触发organizeImports

    我喜欢 VSCode 中的自动组织功能 但让它在每次保存时都执行此操作给我带来了一些麻烦 editor codeActionsOnSave source organizeImports true 当我暂存导入时 是否可以设置一些 git h