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

时间:2016-05-04 20:58:38

标签: xaml xamarin visual-studio-2015 xamarin.forms intellisense

我一直试图让intellisense工作很长一段时间,而且我无法看到任何其他内容

!
![CDATA[
?
  • 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语言

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

10 个答案:

答案 0 :(得分:17)

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

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

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

另一次,这对我也有用:

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

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

答案 1 :(得分: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已启用:

enter image description here

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

enter image description here

答案 2 :(得分: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 / Schemas
  2. 您可以通过程序集属性 XmlnsDefinitionAttribute 创建此定义。您可以在 Portable.Xaml nuget包。
  3. 中找到此属性

    适用于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();
            }
        }
    }
    

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

答案 3 :(得分:4)

这对我有用:

右键点击.xaml 文件,然后选择打开方式.. 选择“XAML Designer “ 以及 ”设置为默认“ ,然后智能感知效果很好。

enter image description here

答案 4 :(得分:4)

我从

安装Extension 为Xamarin.Forms启用XAML语言

Enable XAML Language for Xamarin.Forms

intellisense仍无效。我只需关闭所有标签并关闭视觉工作室。在re-starting Visual Studio之后,我打开解决方案和XAML文件。 instellisense工作正常。

答案 5 :(得分:2)

worked for me 右键单击Your XAML文件,然后选择Option 打开方式=>源代码(文本)编辑器,带编码=>设置为默认值=>应用并选择选项自动....

答案 6 :(得分:1)

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

答案 7 :(得分:0)

Jeff's answer几乎为我工作,但我还需要做一个额外的步骤:

因为我之前已经卸载并重新安装了Xamarin,所以我必须从4.0.1更新到最新的稳定版(截至此日期为4.1.1.3)。在Intellisense开始工作之后!

答案 8 :(得分:0)

我在VS2015update3上安装了Resharper, XAML Designer 对我不起作用。

但是我意外地发现 XML(文本)编辑器有效。这就是 Resharper ,这让人感觉很好。

  • 标签下方没有波浪线
  • 各地的完美提示:XML标签,属性,可用值

只有事情:它没有太多的颜色,F7也没有把我送到它的代码隐藏。

Voilà,希望这可以帮助

答案 9 :(得分:0)

  

我通过一个简单的解决方法解决了这个问题,这里是   溶液

     

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

     

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

     

另一次,这对我也有用:

     

解决方案2:“打开方式...>带代码的源代码(文本)编辑器”

实际上,我发现对我来说它甚至只需选择: 解决方案2:“打开方式...>自动编辑器选择器(XML)”然后重新打开VS。

我还发现在VS之外编辑.xaml文件后,问题就出现了,右键单击该文件并选择“编辑”。