Only partial Syntax Highlighting for Unreal

Hi there -

I can't seem to figure out how to get useful syntax highlighting working in Rider. I've just switched over from Visual Studio to try Rider out with an Unreal 5 project.

In this image, you can see I'm getting highlighting for comments, keywords and strings just fine. However, classes, functions, variables are all staying as white in the editor, though interestingly are colored correctly in all popups when I mouseover. Unused local variables also get colored, but not to any of the colors I've setup through settings, just to a theme default.

Here's what I've tried:

  • Changing colors in Editor->Color Scheme->Language Defaults
  • Changing colors in Editor->Color Scheme->C++
  • Changing themes from Rider Dark to Rider Light
  • Deleting my Unreal cached folders (like intermediate, .vs, etc) and rebuilding
  • Creating a brand new Unreal 5.1 project, adding a single Class in the Editor and then Configuring and Opening Rider from inside Unreal (with the Rider plugin enabled)
  • Changing inspection highlight levels and confirming that inspections are running
  • Resetting all Rider settings and repeating all of the above
  • Building a quick C# .Net Core project, and noting that all syntax coloring works just fine in C#

That's it though - I'm out of ideas :)

Does anyone have anything obvious I might have missed here? Thanks in advance for your help!

 

11 comments
Comment actions Permalink

Hello Dave,

Thank you for contacting Rider support.
Please check if you have this OFF written on the top-right corner of the editor. Try setting it to All Problems as shown on the screenshot.


If it doesn't help, would you mind sharing Rider full-screen screenshot that demonstrates the issue?

Have a nice day!

0
Comment actions Permalink

Thanks Dmitry -

It isn't that, I already had that on and had previously tried the options in that dropdown.

0
Comment actions Permalink

And here's another shot where the overlay detailing the method is showing my set colors while the editor is sticking to white for classes, functions, structs, etc.

0
Comment actions Permalink

Hello Dave,

Thank you for the details shared.
Do you experience this lack of highlighting in any unreal-related C++ code or only specific files/pieces of code?

Would you mind sharing the additional information as described below?

  • Enable Daemon and Editors trace scenarios via Help | Diagnostic Tools | Choose trace scenario;
  • Close Rider;
  • Clear everything from the %LOCALAPPDATA%\JetBrains\Rider{version}\log folder;
  • Open project in Rider;
  • Reproduce the issue: open any project related .h file and let Rider think for ~8 seconds; repeat 2 more times with other files;
  • Collect Rider logs via Help | Collect Logs;
  • Attach the generated log archive to this ticket or upload it to the Upload Service and let me know the Upload ID.
  • Do not forget to disable the trace scenario enabled earlier;

Thank you in advance and have a nice day!

0
Comment actions Permalink

Good morning Dmitry :)

This happens in all Unreal C++ files - I made an entirely new Unreal 5.1 project and added a simple C++ class to it. The same issue was present in both the .h and .cpp files. (That was done after a full reset of Rider's settings and only changing the color of functions for Default Language and then C++ with and without inheritance).

Log files sent via Upload Service:

Upload id: 2022_11_24_26aAQSzTAhYhSgQQUhhSHP (file: rider-logs-20221124-0942533167230598918207693.zip)

Thanks again!

 

0
Comment actions Permalink

Hello Dave, 

Thank you for the details shared. Regrettably, still it is not clear, what causes such an issue.

Would you mind sharing the additional information as decribed below?

  • Launch Rider in internal mode as described here;
  • Focus the sample problematic file (Gun.cpp);
  • Call the `Tools | Internal Actions | Markup Actions | Dump Highlighters` action;
  • An extra tab should open with xml-like tags. Please save this data to file and share it with us.

Thank you in advance and have a nice day!

0
Comment actions Permalink

Hi again -

I've generated and uploaded the Xml:

Upload id: 2022_11_24_9ZXJK7RbwzQyAu9u7EEicT (file: DumpHighlighters20221124-13-06-486022166478397345954.txt)

Note that enabling internal tools and heading through the menus towards Markup Actions produced a non-fatal stack trace, pasted below for completeness:

java.lang.Throwable: Empty menu item text for ToggleMarkupDebugModeAction@MainMenu (com.jetbrains.rdclient.daemon.diagnostics.ToggleMarkupDebugModeAction). The default action text must be specified in plugin.xml or its class constructor
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:184)
    at com.intellij.openapi.actionSystem.impl.Utils.fillMenuInner(Utils.java:389)
    at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:321)
    at com.intellij.openapi.actionSystem.impl.ActionMenu.fillMenu(ActionMenu.java:439)
    at com.intellij.openapi.actionSystem.impl.ActionMenu.setPopupMenuVisible(ActionMenu.java:384)
    at java.desktop/javax.swing.JPopupMenu.menuSelectionChanged(JPopupMenu.java:1509)
    at java.desktop/javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:134)
    at java.desktop/javax.swing.plaf.basic.BasicMenuUI.appendPath(BasicMenuUI.java:264)
    at java.desktop/javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:322)
    at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
    at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

 

Thanks again!

0
Comment actions Permalink
Hello Dave,

Thank you for the details shared.

Would you mind trying the following options and letting me know if any of them helps?

* Clear caches via `File | Invalidate Caches`;
* Open your project via .uproject file instead of .sln; (`File | Open | Open | {select your .uproject file}`;
* Try installing the latest version of [Rider EAP](https://www.jetbrains.com/rider/nextversion/) and check if the issue persists;

If it doesn't help, please try creating a template non-UE C++ console application and let me know would the code highlighting appear there?

Thank you in advance and have a nice day!
0
Comment actions Permalink

We have a winner Dmitry Kazantsev!

Invalidating (all) Caches and Opening via .uproject didn't help, but installing the EAP9 2022.3 version did.

Fresh from install it didn't work, but using the settings to override Visual Studio colorings within Inspections sorted it out.

I ticked "Color Identifiers" here and the default color scheme immediately appeared as expected.

I also checked setting a custom color (yellow in the screenshot) on Class Names. which worked fine too.

Thanks for all your help with this!

0
Comment actions Permalink

Hello Dave,

I am happy to hear that we came up with a solution.

This issue relates to this one. I added a comment to this issue. There is a problem with File | Settings | Languages & Frameworks | C++ | Inspections | Color Identifiers setting.

We would appreciate it if you could upvote this issue to demonstrate the additional interest.

Should you have any other questions or difficulties in the future, do not hesitate to contact support.
Have a nice day!

1

Please sign in to leave a comment.