Huh. I just restarted it and it worked again. The problem is that before, when I restarted it, it still did not work. I haven't found the underlying issue, but it's fixed now.
Visual Studio Intellisense not working on XAML only on very specific circumstances
-
31-05-2022 - |
سؤال
I'm making a new UserControl
, and when I opened it the XAML was not working.
I thought that this was odd, as when I was working on my MainWindow it was working just fine. So I checked on my MainWindow. It still works there. Also in C# code.
However, if I press CTRL + it still comes up fine.
I'm not quite sure why. I went to Tools➾Options➾Text Editor➾XAML➾General, and the Text Completion section is greyed out (e.g. Auto-List Members, etc.). This is also greyed out when I see it on my main window, but Intellisense works there.
Could someone help me? My VS version is VS2012 Express, Update 2. The only extension installed is XNA (using this "hack").
المحلول
نصائح أخرى
This is one of the most frustrating things about developing wpf apps I have to say. And here is a temporary solution that was observed by chance and works every single time intellisense breaks while working with XAMl:
Break the xaml file by any means; ex: removing any char/symbol
Hit F6 to build
Done and intellisense is back in couple seconds!
There are several reasons why Intellisense may fail and if you have several factors in play you will have to do several things to get it to work and so I've listed some of the things that I've done to solve this issue in the past.
Make sure you are using either the XAML UI Designer or the Source Code (Text)Editor for editing XAML with Intellisense. The XML (Text) editor does not provide Intellisense on my installation (VS2013 Pro).
If the designer crashes due to an exception in a loaded assembly you may also lose Intellisense. Fix the exception to restore it.
The designer may not load correctly if an assembly in your project is not trusted and has been sandboxed, and this can affect Intellisense.
See the following articles for more information on sandboxing and granting full trust:-
http://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx
http://msdn.microsoft.com/en-us/library/ee890038(v=vs.110).aspx
Obviously only grant full trust to assemblies that you trust!
To grant full trust to an assembly, browse to the assembly in Windows Explorer and open the file properties and unblock the assembly (see image below).
Also, deleting .suo files can clear intermittent Intellisense problems.
In my case, Tools / Options / Text Editor / XAML / Miscellaneous / Always open documents in full XAML view was Unchecked. After checking it and re-opening my XAML file from Solution Explorer, I had intellisence back.
This happened in Visual Studio 2013.
In my case setting the Properties (F4) > Build Action
of the *.XAML
to Page
fixed IntelliSense.
In Visual Studio 2019, switching and building between Release
and Debug
modes brought it back.
💡 x:Class out of Sync 💡
One other thing I noticed was that in the editor file of my user control, the x:Class="..."
was second in line before another namespace.
By putting the x:Class
as the first namespace for the control, brought back intelisense.
I got the same issue after uninstalling Resharper from VS2019. In the options dialog the "auto list members" and related options for Text Editor->XAML was disabled.
I tried to reset the default editor for XAML to Source Code Text Editor by clicking Open With... on a XAML file, did not work.
I then tried to update and even reinstall VS, nothing worked.
In pure desperation I went back to the same options page as "auto list members" and disabled and then re-enabled any property ("Line Numbers" i my case). This seemed to light a spark and now it's all good again.
In my case, the solution to the IntelliSense on Xamarin XAML files was tied to NuGet package references, I think especially the Xamarin.Forms package. If you have the yellow warning symbol on your packages, you have to get through the following steps on your specific project: - Make sure it builds without errors
Pass a
msbuild /restore [path to the specific project]
- Pass a.\nuget restore
at your solutionClose and reopen your solution
Right-click on the concerned XAML file > Open With... > Make sure to have"XAML Designer" or "Xamarin.Forms Previewer" set to default for XAML files
You should now have IntelliSense.
In my case, that made the yellow warnings disappear, then XAML IntelliSense worked again on Xamarin.Forms files
Try building the project and deploying the project. There may be error in some dll or in some C# code. Try fixing all the errors in your C# code, after that dll errors will be automatically fixed. Now Code Completion and Intellisense should work in XAML. If not try Clean-Build the solution again. If no errors are encountered, XAML Code Completion and Intellisense will work.
My IntelliSense was also not wokring on some .xaml
files. Then I found out I defined both:
<Window.DataContext>
<core:MyDataContext/>
</Window.DataContext>
and
<Window x:Class="Namespace.MyWindow"
...
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=core:MyDataContext}">
Removing the one I figured was not necessary fixed it.