You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在VSIX扩展项目中使用VS SDK重构重命名服务的技术问题

Visual Studio重命名扩展开发问题汇总

我需要开发一个与Visual Studio原生Refactor.Rename命令行为一致的扩展(仅关注属性和方法名称重命名),并额外添加通过Roslyn API定位并重命名其他类型中属性或方法的功能。目前遇到以下问题:

  • 在Visual Studio 2017和2019中,使用Roslyn的Renamer类时,即使设置RenameInComments = true和RenameInStrings = true,带有cref="PropertyName"的文档注释也不会被重命名,仅在Visual Studio 2022中正常工作,想了解原生Refactor.Rename命令的实现方式(是否基于VS SDK的RenamingService)。
  • 希望能订阅重命名操作执行前后的事件,获取新成员名称、重命名选项(包含注释、字符串、重载等);若没有此类事件,能否访问内联重命名弹窗,读取新名称文本框、选项复选框的值,以及判断用户是否提交操作(含Shift+Enter预览后点击应用的情况)。
  • 尝试自行基于Roslyn的Renamer.RenameSymbolAsync实现重命名逻辑,但旧版本VS中存在引用重命名不完整的问题,且不知如何实现内联弹窗(仅熟悉对话框和工具窗口)。
  • 尝试捕获Refactor.Rename命令的CommandEvents.AfterExecute事件,但该事件在弹窗出现时触发,而非提交后。
  • 了解MEF组件ICommandHandler<T>和IChainedCommandHandler<T>,但不知能否实现自定义处理程序并在原生处理程序之后执行,且旧版Visual Studio 2017可能不支持MEF。

注:使用Community.VisualStudio.Toolkit开发,扩展仅支持C#。

内容的提问来源于stack exchange,提问作者Sophisticated

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 20:05:57