Hi, rather a qustion, recently moved from RF LSP to Robotcode, I couldnt find in documentation how to enable jump to definitions for library plugins called as below, even when this library path is set in settings.json
Hi, thanks for reply, but It didn’t work for me. We might have also some issues with the additional libraries as we are using plugins and libraries overwriting KWs, also Browser and Se coexistence and , I believe in RF LSP Set Library Order was somehow considered and could handle multiple definitions, throwing some errors though.
I think, RobotCode has a feature for determining order of libraries, too, but I never had use for it myself. It’s an option in robot.toml: robot.toml configuration settings | RobotCode
If Robot Framework can execute, Robotcode should work, too, as in opposite to Robocorp LSP, Robotcode uses the original Robot Framework parser. That leads to the side effect that Robotcode can verify what is statically reliable. Dynamic modifications that only happen during runtime can’t be detected. LSP did not use parser, but made guesses based on files and text, which made projects appear more stable than they actually were. Basically selling correlation as conclusion. Which may have worked most of the time, nonetheless.
I would maybe revisit the project setup, though. Having Browser and Selenium test cases mixed does sound like a risk regardless the IDE extension.
An issue might be, that for code completion all libraries are instantiated by Robotcode, meaning the dynmic overwriting of keywords must happen during library initialisation. Otherwise, the keywords won’t resolve in static analysis.
Can you elaborate a bit on the overwriting KW part and the mix of libraries? Maybe with snippets?
So when it comes to mix, not going into details deep, but we of course have seperate resource files and robot files for PW and Se, so our asset legacy is build on Se, but for some suites we use PW library, and then as suite startup :
Set Library Search Order Browser common.pw
LSP was working fine with this, and hints were consisting of both, mixed but somehow worked when you know keywords. Robotcode is losing in this case and possibly the differences you were describing are preventing from good usability in our case.
I’ll explore the toml settings though, maybe that will help.