gpt4 book ai didi

javascript - Visual Studio代码: Remove unused parameters on callback functions breaks code

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:13 27 4
gpt4 key购买 nike

背景

我在 TypeScript 项目中使用 Visual Studio Code,我们都幸运地拥有了越来越好的 IDE 功能,例如建议的变量名称、建议的导入、建议的未使用变量等。

但是,我最近发现,当我通过删除未使用的导入等来清理文件时,回调函数中未使用的参数也会被删除,无论其顺序如何。

一个常见的例子是 Express Controller 函数,当我想在没有任何过滤器的情况下获取某些内容时:

function getAllItems(req: Request, res: Response)

req 在此上下文中可能没有用。然后,Visual Studio Code 会简单地将其删除,留下:

function getAllItems(res: Response) 

这不再适合回调函数签名。

我尝试过的

似乎 TypeScript 有一个 "noUnusedParameters": true 选项,您可以将其放入 tsconfig.json 中。但是,我想保留对非回调函数的建议。

问题

如何更改 Visual Studio Code 的行为,以便保留不在最后位置的未使用参数,无论是否使用它?

最佳答案

虽然参数未使用的错误是有效的,但删除该参数的建议并非在所有情况下都适用且没有副作用,特别是当参数不是最终参数时。

根据您的使用情况和 Express 的类型,理想情况下,参数较少的版本不应分配给原始版本。

function test(a: number, b: string) { console.log(b )}
let expected : (a: number, b: string) => void = test; // original is valid


function test(b: string) { console.log(b )}
let expected : (a: number, b: string) => void = test; // the version with the missing first parameter is not valid here

如果您需要保留未使用的参数并且不会遇到 noUnusedParameters 的编译错误,则需要使用 _ 作为参数名称(或 __) > 或 ___(如果有更多)

关于javascript - Visual Studio代码: Remove unused parameters on callback functions breaks code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51306639/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com