Cannot get Xamarin Xaml Intellisense working in VS

2019-01-15 18:33发布

I've been trying to get intellisense working for quite some time now, and am unable to see anything outside of

!
![CDATA[
?
  • Visual Studio 2015 Update 2
  • Resharper is installed but disabled
  • Referencing the latest pre-releases of Xamarin Forms (2.3.0.38-pre2)
  • Xamarin for Visual Studio (4.2.21)
  • Portable project referencing the proper 2.3.0.38-pre2 targets file from NuGet
  • Enable XAML Language for Xamarin.Forms

What else am I missing? I feel like it shouldn't be this difficult.

10条回答
神经病院院长
2楼-- · 2019-01-15 19:12

This worked for me:

right click on .xaml file and then select "Open With.." and select "XAML Designer" and also "Set as Default" then intellisense worked great.

enter image description here

查看更多
可以哭但决不认输i
3楼-- · 2019-01-15 19:16

I install the Extension Enable XAML Language for Xamarin.Forms from

Enable XAML Language for Xamarin.Forms

Still the intellisense was not working. I just need to close all tabs and close the visual studio. After re-starting Visual studio I open solution and XAML file. The instellisense is working fine.

查看更多
在下西门庆
4楼-- · 2019-01-15 19:28

I have Resharper installed on VS2015update3, and XAML Designer didn't work for me.

But accidently I found XML (Text) Editor works. That's Resharper that makes effet.

  • No wave-line beneath the tag
  • Perfect prompt everywhere: XML Tags, Properties, available Values

Only things: it doesn't color too much, and F7 do not send me to its code-behind.

Voilà, hope this could help

查看更多
爱情/是我丢掉的垃圾
5楼-- · 2019-01-15 19:29

The reason why Intellisense is not appear in editor is that Xamarin XAML is not opened as file with content type xaml but file with content type xml.
To open xamarin XAML file as file with content type xaml simply in solution explorer right click the xaml file and select Open With... In popup select "XAML Designer with Encoding" and click OK.


Solution below is if you edit Xamarin xaml as file with content type xml. But this solution is not correct, IntelliSense then not always correctly suggests.

To take advantage of Intellisense the Visual Studio must get appropriate definition of xml namespace for Xamarin.Forms. For the Xamarin.Forms Visual Studio needs xml definition for namespace http://xamarin.com/schemas/2014/forms.
This definition can be provided to Visual Studio by two ways:

  1. You can use xsd file and this file then register to xml schemas - after you open xaml file, the menu Xml/Schemas appear.
  2. You can this definition create by assembly attribute XmlnsDefinitionAttribute. This attribute you can found in Portable.Xaml nuget package.

Suitable for Xamarin.Forms is the second way(using attribute).

If you use Xaml in portable library, restore(download and install) this nuget package to this library.
If you use shared project, then restore this nuget package to all projects referencing this shared project.

Then insert this attribute to appropriate place. I believe that the App.xaml.cs(if you use generated name App) is a good place. The code could look like this:

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

And the rebuild solution, as I believe, might not be necessary to work Intellisense for Xamarin.Forms.

查看更多
Summer. ? 凉城
6楼-- · 2019-01-15 19:31

Jeff's answer almost worked for me, but I had to do one additional step:

Because I had previously uninstalled and reinstalled Xamarin, I had to update from 4.0.1 to the latest stable (4.1.1.3 as of this date). After that Intellisense started working!

查看更多
The star\"
7楼-- · 2019-01-15 19:33

I resolved this issue by doing a simple workaround and here is the solution.

Right-click the XAML file in the Solution Explorer and select

Solution 1: "Open With... > Source Code (Text) Editor".

and in another time this also worked for me:

Solution 2: "Open With... > Source Code (Text) Editor with Encoding"

Actually, I found that for me it even worked by simply choose: Solution 2: "Open With... > Automatic Editor Selector (XML)" and then reopening VS.

I also found that the problem began after editing .xaml file outside of VS, by right-clicking the file and choose "Edit".

查看更多
登录 后发表回答