Rhino 8 Grasshopper Script Editor - Design Feedback

Originally the topic was intended to exclusively concern the visual design/structure of the Grasshopper script editor, but it has snowballed quite a bit since then. I started making new topics to make things more easily trackable for Ehsan and Alain. But whatever works.

Feature Request: Interactive python terminal within Script Editor

Other commercial software packages or open source packages with a python engine have an interactive python terminal running within their Script Editor or even within their GUI directly as a command prompt. I am using this feature a lot in other software we use. Afterwards or in between, you can use the logged history of commands to copy and paste your code snippets to your scripts. In addition to this, other frameworks allow this even during the debug mode. There you debug to a break point and then you are able to interactively continue from this point. If you have this feature implemented, you can use all the benefits from scripting languages. It makes me so much faster during code development compared the rhino workflow, where you always have to edit your script and rerun the code.

"Run Without Debugging logged here
Thanks.

2 Likes

Interactive terminal request logged here.

2 Likes

Feature Request: Clickable traceback similar to the old Iron Python Editor

In the old editor you can click on each line of the traceback and the editor opens the file and jumps to the line, so you can diagnose the issue right away. It would be great to have this feature in the new editor.

The scrollbar disappears on all files in the code editor, if you click the side bar (project, search, help, etc.). The scrollbar shows up again for a certain file, if you close the file and reopen it again. For large files this is quite enoying, if you are used to use the mouse.

The search bar shows multiple search results, if the text is found multiple times. It searches all open files and orders them top down with file order left to right. Unfortunately the jump between the search results in the text editor works only for the top file (left file in the editor) in combination with the search bar. For all other results in other files, the editor jumps to the file, but does not jump to the position of the search result in the file.

File tab issue?
I cannot jump to hidden file tabs in the ScriptEditor, if more files are open than fit into the window width. Other editors usually have additional buttons or drop down menus to jump to the hidden open files. Am I missing something or is this feature not implemented?

Hi guys.

I’m on SR 8.9.24194.18121, 2024-07-12 , because SRC did cause problems for me… can’t install both.
So I don’t know if current SRC already address something more.

  • Changing some input name cause the collapsed elements to expand
  • Inside a method you can’t directly use ā€œintellisenseā€ of a parameter (like IsoStatus. in the video)
  • the ā€œuseless listā€ still pops even if i toggle
    2024-07-18 16_38_39- please give an option to nuke it forever.
  • writing a method the amount of commas is not always used, sometime you type 2 commas, expecting to use the overload with 3 parameters, but the floating windows still displays the overload with 2 parameters

In Rhino 7 this happened at the first try:


both toghether!

and after the second comma it switch to the overload with 3 parameters:
2024-07-18 16_44_59-Script Editor

Thanks for your work.

Do we know about these problems? We would like to fix whatever these are immediately.

Yes, I guess.
Grasshopper was crashing globally for me with SRC , 2 months ago.
I followed Scott’s advice from here:

I’m already tiptoeing inside Rhino 8 … I’m doing batches with grasshopper to go in production almost everyday. I need it reliable.
What if some minor SRC problem is not visible but generating wrong outputs… ? Can this happen?

Should I try my luck again?

Maybe the thing to do in this case is install the V9 WIP as that can be installed side by side with V8. The V9 WIP would include all of the additions made in the latest release candidate so you can determine if recent tweaks to the script editor would warrant trying out the release candidate.

1 Like

Sorry, I can’t deal with this right now as I’m in the middle of Germany driving north.
I looked at it a bit and know what’s going on and will fix it.
Until then it’s best to keep ā€œautocomplete in function helpā€ on.
We’re also working on new windows that will expand beyond the editor window.

1 Like

plz no texting while driving

1 Like

In the old IronPython Script Editor the default working directory was always the current script location. For rapid prototyping with input and output files this is nice to have. The new Script Editor defaults to the following location: C:\Program Files\Rhino 8\System
Can you please change this to the script location?

@daniel.kowollik

So technically .getcwd() returns the working directory of the process. I decided to keep it like python is and this way it is also consistent across python and csharp.

The __file__ points to the script path.

I would like to know how changing this is helpful to ā€œrapid prototyping with input and output filesā€

@AndersDeleuran I have cleaned up a bunch of things in Rhino 8.11 SRC related to IronPython performance. It should feel a lot faster and I would appreciate if you can test. I will keep working on performance.

1 Like

Cheers @eirannejad. I just tried running the test files I posted over here, and the IronPython component appears to compute as fast as the GhPython component now. That’s awesome. Will try to run some actual work code when I get the chance and report back.

1 Like

Thank you @AndersDeleuran and Happy Birthday :birthday:

1 Like

@eirannejad
I do not want you to change the default python behaviour. May be you are starting the process in the new Script Editor different than in the old one. If I use the old IronPython Editor, create a new file, save it somewhere and run it, the cwd will always be the file location. If I do this in the new Script Editor, the file location does not effect the cwd. In all commercial software with python interpreter or Python IDE’s I have used so far, the CPython or IronPython process would start by default in the current file location.

Now, I always need to add these two lines of code to my old and new scripts in order to be able to use relative path locations:
import os
os.chdir(os.path.dirname(__file__))