Describe the bug
The JetBrains RobotCode plugin registers RobotCodeLineBreakpointType for every file and every line because canPutAt() unconditionally returns true.
As a result, in Rider, new C# line breakpoints can be created as RobotCode breakpoints instead of .NET breakpoints. These breakpoints are not handled by the .NET debugger and do not trigger.
Breakpoints that existed before enabling/installing RobotCode continue to work.
Steps To Reproduce
- Open a C# project in Rider with RobotCode disabled.
- Create a C# line breakpoint and start debugging. The breakpoint works normally.
- Enable RobotCode.
- Create another breakpoint in a
.cs file.
- Start debugging. The newly created breakpoint is not handled by the .NET debugger.
- Disable RobotCode again.
- The newly created breakpoint disappears, while the original .NET breakpoint remains.
The relevant implementation is:
override fun canPutAt(file: VirtualFile, line: Int, project: Project): Boolean {
return true
}
in RobotCodeLineBreakpointType.
Expected behavior
RobotCode line breakpoints should only be applicable to Robot Framework files (.robot and .resource). Breakpoints in C#, Java, or other unrelated file types should be left to the corresponding debugger.
For example:
import dev.robotcode.robotcode4ij.RobotResourceFileType
import dev.robotcode.robotcode4ij.RobotSuiteFileType
override fun canPutAt(file: VirtualFile, line: Int, project: Project): Boolean {
return file == RobotSuiteFileType || file == RobotResourceFileType
}
Screenshots/ Videos
N/A.
Logs
No relevant error is logged. The breakpoint is created, but as the wrong breakpoint type.
Additional context
I tested the proposed change locally by rebuilding the JetBrains plugin and replacing only RobotCodeLineBreakpointType.class in the installed RobotCode plugin.
After the change:
- RobotCode breakpoints continue to work in
.robot and .resource files.
- Newly created C# breakpoints are handled normally by the Rider/.NET debugger.
- Existing C# breakpoints continue to work.
Desktop
- IDE: JetBrains Rider 2026.2.2
- RobotCode Version: 2.7.0
- OS: Debian 13 Linux
- Python Version: N/A for reproducing this JetBrains breakpoint issue
- RobotFramework Version: N/A for reproducing this JetBrains breakpoint issue
Describe the bug
The JetBrains RobotCode plugin registers
RobotCodeLineBreakpointTypefor every file and every line becausecanPutAt()unconditionally returnstrue.As a result, in Rider, new C# line breakpoints can be created as RobotCode breakpoints instead of .NET breakpoints. These breakpoints are not handled by the .NET debugger and do not trigger.
Breakpoints that existed before enabling/installing RobotCode continue to work.
Steps To Reproduce
.csfile.The relevant implementation is:
in
RobotCodeLineBreakpointType.Expected behavior
RobotCode line breakpoints should only be applicable to Robot Framework files (
.robotand.resource). Breakpoints in C#, Java, or other unrelated file types should be left to the corresponding debugger.For example:
Screenshots/ Videos
N/A.
Logs
No relevant error is logged. The breakpoint is created, but as the wrong breakpoint type.
Additional context
I tested the proposed change locally by rebuilding the JetBrains plugin and replacing only
RobotCodeLineBreakpointType.classin the installed RobotCode plugin.After the change:
.robotand.resourcefiles.Desktop