gpt4 book ai didi

c# - 我的 visual studio 插件如何在构建之前以与 "Remove and Sort Usings"相同的方式检测编译器错误?

转载 作者:行者123 更新时间:2023-11-30 12:53:29 26 4
gpt4 key购买 nike

我正在制作一个重构工具,可以自动处理一些与 StyleCop 相关的更琐碎的代码样式设置。我希望我的加载项能够执行的一件事(作为开发人员可以打开/关闭的可选功能)是自动调用“Organize Usings -> Remove and Sort”功能。这是一个简单的宏调用。

但是,我的问题是,当我遍历并在解决方案中的每个 .cs 非设计器文件上递归调用宏时,这个特定的宏会在执行前检查错误。如果存在语法错误并且我的加载项开始调用该功能,它会为每个文件弹出一个对话框。

我想做的是使用与函数用于动态检查错误的方法相同的方法,然后如果出现错误会导致对话框弹出,只需弹出一次性通知并跳过对每个文件的调用。

我知道我的加载项可以检查错误列表,但是我多次发现触发“删除和排序”问题的错误并不总是出现在列表中。我已经让列表为空,然后我尝试“删除并排序”,它告诉我存在构建问题。然后,我构建了解决方案,果然它失败了,并且填充了错误。我看到的唯一解决方案是使用与“删除和排序”相同的功能来预先检查。

有谁知道如何在构建之前以与“Remove and Sort Usings”相同的方式检测编译器错误?

最佳答案

我不太确定您说的是哪种错误,我假设它们是 IntelliSense 解析器生成的错误。是的,那个解析器不是很可靠。它并不意味着是一个成熟的 C# 解析器,它经过优化以完成一种非常不同的工作:提供上下文相关的帮助,即使代码不完整且无法编译。除了等待下一个 VS 版本之外,您无法做任何事情来使其更可靠。

但令我震惊的是,您可能正在尝试解决错误的问题。关键问题是您的加载项似乎正在删除不应删除的使用指令。真正的解决方法是改进代码分析引擎,以便它能够可靠地检测到真正的 namespace 依赖性。寄希望于 IntelliSense 会提示而试图猜测哪些是重要的只会让您的客户感到沮丧。

关于c# - 我的 visual studio 插件如何在构建之前以与 "Remove and Sort Usings"相同的方式检测编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301737/

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