代码搜索 - 在搜索特定的打字稿功能时排除打字

Code search - exclude typings when searching for particular typescript function

假设我在回购中的所有打字稿文件中搜索 createPerformanceMarker 的代码。 我使用这个搜索:

createPerformanceMarker ext:ts.

不幸的是,这 returns 也需要打字(扩展名为 .d.ts 的接口声明文件)

参考:

https://docs.microsoft.com/en-us/azure/devops/project/search/advanced-code-search-syntax?view=azure-devops

我尝试了几种不同的格式,但它们都不起作用(createPerformanceMarker ext:ts NOT ext:d.ts 等)

有没有办法在搜索时排除打字?

Is there a way how to exclude typings when searching ?

的确,正如您测试的那样,组合格式ext:ts NOT ext:d.ts没有按预期工作。

进一步研究发现,当我们使用ext:时,过滤器将默认使用最后一个点.之后的字段作为文件扩展名进行搜索 .也就是说无论你使用ext:ts还是ext:d.ts进行搜索,代码搜索都会使用.ts作为关键字进行匹配搜索。这就是为什么我们使用搜索条件是ext:ts NOT ext:d.ts来搜索结果是No. Code files found for 'ext:ts NOT ext:d.ts' with applied filters.

的原因

为了解决这个问题,我想提供一个针对这种情况的解决方案。我们可以使用组合格式 ext:ts NOT file:*.d 来排除类型 .d.ts.

作为测试(为了方便,我用 .ps1 文件测试它)在我这边:

希望这对您有所帮助。