Skip to content

[BUG] RobotCode hijacks line breakpoints in non-Robot files #658

Description

@kopavel

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

  1. Open a C# project in Rider with RobotCode disabled.
  2. Create a C# line breakpoint and start debugging. The breakpoint works normally.
  3. Enable RobotCode.
  4. Create another breakpoint in a .cs file.
  5. Start debugging. The newly created breakpoint is not handled by the .NET debugger.
  6. Disable RobotCode again.
  7. 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

Activity

  1. d-biehl commented on Oct 6, 2026

    @d-biehl
    Member

    Thanks for the detailed report and for testing your proposed change! This is fixed now and will be part of the next RobotCode release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions