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.
Interactive terminal request logged here.
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
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:
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.
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.
plz no texting while driving
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?
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.
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.
Thank you @AndersDeleuran and Happy Birthday
@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__))