无法让Xamarin Xaml Intellisense在VS 2015中工作

Jef*_*eff 9 intellisense xaml xamarin xamarin.forms visual-studio-2015

我一直试图让intellisense工作很长一段时间,而且我无法看到任何东西

!
![CDATA[
?
Run Code Online (Sandbox Code Playgroud)
  • Visual Studio 2015 Update 2
  • Resharper已安装但已禁用
  • 参考Xamarin Forms的最新预发布版本(2.3.0.38-pre2)
  • Xamarin for Visual Studio(4.2.21)
  • 便携式项目引用NuGet中适当的2.3.0.38-pre2目标文件
  • 为Xamarin.Forms启用XAML语言

我还缺少什么?我觉得不应该这么困难.

Usm*_*man 17

我通过一个简单的解决方法解决了这个问题,这是解决方案.

在解决方案资源管理器中右键单击XAML文件,然后选择

解决方案1: "打开方式...> 源代码(文本)编辑器 ".

在另一个时间这也对我有用:

解决方案2: "打开...> 源代码(文本)编辑器与编码 "

这种解决方法为我提供了所需的XAML IntelliSense,即使没有安装额外的"为Xamarin.Forms启用XAML语言"扩展,甚至安装了ReSharper但已暂停.


Sus*_*ver 7

扩展>工具>为Xamarin.Forms启用XAML语言

为Xamarin.Forms启用XAML语言

启用VS内置XAML语言服务,为Xamarin.Forms XAML文件提供编辑和智能感知.

https://visualstudiogallery.msdn.microsoft.com/8195a8e2-a842-4389-a8cb-34e4672e2e13

更新:

来自@Jeff:

似乎我必须完全卸载Resharper,而不仅仅是禁用它.然后重新安装"为Xamarin Forms扩展启用XAML语言".

附加信息:

http://www.cazzulino.com/enable-xaml-forms-intellisense.html

Xamarin XAML已启用:

在此输入图像描述

XML已启用,因此没有Xamarin XAML Intellisense:

在此输入图像描述

  • 看起来这个评论的链接已经死了 (2认同)

Ste*_*bos 7

Intellisense没有出现在编辑器中的原因是Xamarin XAML没有作为内容类型为xaml的文件打开,而是打开内容类型为xml的文件.
要在解决方案资源管理器中将xamarin XAML文件打开为内容类型为xaml的文件,请右键单击xaml文件并选择打开方式...在弹出窗口中选择"带编码的XAML Designer",然后单击"确定".


下面的解决方案是您将Xamarin xaml编辑为内容类型为xml的文件.但是这个解决方案不正确,因此IntelliSense并不总是正确建议.

要利用Intellisense,Visual Studio必须为Xamarin.Forms获取xml命名空间的适当定义.对于Xamarin.Forms, Visual Studio需要对命名空间http://xamarin.com/schemas/2014/forms进行 xml定义.
可以通过两种方式将此定义提供给Visual Studio:

  1. 您可以使用xsd文件和此文件然后注册到xml架构 - 打开xaml文件后,将出现菜单Xml/Schema.
  2. 您可以通过程序集属性XmlnsDefinitionAttribute创建此定义.您可以在Portable.Xaml nuget包中找到此属性.

适用于Xamarin.Forms是第二种方式(使用属性).

如果您在便携式库中使用Xaml,请将此nuget包恢复(下载并安装)到此库.
如果使用共享项目,则将此nuget包还原到引用此共享项目的所有项目.

然后将此属性插入适当的位置.我相信App.xaml.cs(如果你使用生成的名称App)是个好地方.代码可能如下所示:

using Portable.Xaml.Markup;
using Xamarin.Forms;

[assembly: XmlnsDefinition("http://xamarin.com/schemas/2014/forms", "Xamarin.Forms")]

namespace YourAppNamespace
{
    public partial class App : Application
    {
        public App ()
        {
            this.MainPage = new MainPage();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为,重建解决方案可能没有必要为Xamarin.Forms工作Intellisense.


Moj*_*oji 5

这为我工作:

右键点击的.xaml文件,然后选择打开方式...,并选择“XAML设计师”,也“设为默认值”,然后智能感知伟大的工作。

在此处输入图片说明