使用Resharper时XAML元素附加属性无自动补全?Xamarin.Forms开发求助
解决Xamarin.Forms XAML附加属性Resharper无自动补全的问题
针对你在Visual Studio 2017搭配Resharper 2017.3开发Xamarin.Forms应用时,遇到的XAML附加属性无法获得Resharper自动补全,但VS默认IntelliSense正常的问题,这里有几个经过验证的修复方案:
1. 重置Resharper的XAML缓存
Resharper的本地缓存偶尔会出现异常,清理后大概率能恢复正常补全:
- 点击Visual Studio顶部菜单栏的
Resharper→Options - 在弹出的设置窗口中,找到
Environment→General - 点击
Clear Caches按钮,等待清理完成后重启Visual Studio
2. 检查Resharper的XAML智能感知配置
确认Resharper没有禁用附加属性的补全逻辑:
- 进入
Resharper→Options→Code Editing→XAML→IntelliSense - 确保**"Show completion for attached properties"**选项处于勾选状态
- 同时检查"Completion behavior"下的相关设置,避免有附加属性的显示限制
3. 显式声明Xamarin.Forms命名空间
有时候Resharper对Xamarin.Forms的默认命名空间识别不够精准,尝试在XAML根元素上显式声明完整命名空间:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:xf="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.Core"> <AbsoluteLayout> <BoxView Color="Yellow" xf:AbsoluteLayout.LayoutBounds="0.25,0.25,0.25,0.25"/> </AbsoluteLayout> </ContentPage>
这种显式命名空间的写法通常能让Resharper正确识别并提供附加属性的补全建议。
4. 升级Resharper到兼容版本
Resharper 2017.3属于较旧的版本,可能存在和VS2017、Xamarin.Forms的兼容性问题。如果前面的方法都无效,建议升级到Resharper 2018及以后的兼容版本(注意选择适配VS2017的版本),新版本对Xamarin.Forms的XAML支持做了不少优化。
5. 临时切换到VS默认IntelliSense
如果着急推进开发,可以临时让Resharper让步于VS原生的智能感知:
- 进入
Resharper→Options→Environment→IntelliSense→General - 选择**"Visual Studio"**作为IntelliSense的提供方,这样就能正常使用VS的补全功能,等Resharper的问题解决后再切换回来
内容的提问来源于stack exchange,提问作者Alessandro
相关产品推荐
相关产品推荐

