Please make it available not only during debug but all the time. That would be amazing.
Hi @Julian_Muhlbauer, could you provide an example why should it be available all time?
To me makes more sense only in debug mode, but wanted to hear your thoughts,
Hi @Eric_Alvarado,
Yes, of course, I can explain. Let’s say I want to use a method I haven’t used before. For simplicity, let’s use split
as an example. I think it’s easier to immediately see what your result is in the Immediate panel.
Thats really not possible as the variable you are trying to do split on is not loaded at design time.
There is no such thing as an offline immediate panel.
You have to use documentation or run your code.
Its not a big deal to make an empty workflow with a breakpoint to test something like a split.
If you want more complex stuff related to your actual code / variables the code has to be running.
Think of the request like you are asking to taste the food in a restaurant by using the pictures in a menu. You have to cook the food to taste it.
Hi, thanks for your reply! Maybe some clarification is necessary.
- No need for a variable. I can create, for example, a string without one. See screenshot.
- Making an empty workflow, setting a breakpoint, debugging the file, and checking “Immediate” are four steps. Simply checking “Immediate” would be one step. So, for one case, that’s 3 extra steps. Now, do that x number of times, and you end up with 3*x unnecessary steps.
- I’m not saying I don’t want “Immediate” in debug anymore. I want it to stay in debug as it is, and I still need it for complex stuff/runtime use. I thought it would be nice to also have it available all the time.
- But it’s all good—thought this was the place to challenge things.
Ok, but then what imports are loaded in it? if you want to do some LINQ should the Newtonsoft dependencies be loaded?
What if you want to use System.IO to see some attributes on a file, ok thats more to load.
How do we define whats loaded and what isn’t. We cannot load everything and the two I gave are not default.
Furthermore, working with complex objects stops becoming feasible, significantly limiting what this could be used for if you did hypothetically make a code sandbox and have it always running.
This would be extremely limited or grossly complex to use and set up to accomodate all the scenarios I gave (which are simple ones).
Running an empty workflow with a breakpoint is hardly any work and solves this, and otherwise you can ask a GPT or there are code sandbox tools around that are web based that can help.
I do not see a valid use case for this to be built in Studio personally.
Alright, case settled. Thanks!
Coming from python, I too wished that such an interactive shell existed in UiPath Studio. REPL (Read Evaluate Print Loop) makes it easy to quickly test things out. Thank you for bringing this up as a discussion
As @Jon_Smith pointed out, there are some design limitations from studio when combining coded/low-code workflows. Also this may be a large change both in terms of implementation and user training (mere speculation from my part).
I do also see that there are many open-source implementation of REPL in dotnet. So this is something other developer groups seem to miss within their usecases. For example, GitHub - jonsequitur/dotnet-repl: A polyglot REPL built on .NET Interactive
A usecase for this (although quite minimal) would be when only developing/debugging coded automation where the user knows which dependencies to import and it would be great to have a REPL for quick prototyping.
For now, the two ways I handle this is
- by using right-click on an activity and using “Run to this activity” when I am testing things out, this allows the debug to run and stop at the activity where I need to use the immediate panel.
- use a dummy sequence, proptotype my logic within it, and then use right-click + “Test activity”. This also opens the debug panel. Although I lose access to all previously declared variables/arguments.
If I had an option, I would have called it “Console” instead of “immediate panel”!