In my opinion a new editor would be nice to have, but most ide features are a total overkill for scripting components. Even Intellisense/autocomplete! I think what should be inside is: Syntax Highlighting, Argument hints and Snippets (I don’t want to write for loops in C# manually. Typing “for” and pressing tab is super nice.
Intellisense yes, if it doesn’t break/slows my writing, as explained above.
One of the most difficult things in programming is learning an api. In the beginning you need to look up in the documentation anyway, and when being advanced you know most commands from memory.
Furthermore isn’t comparing primary Python style editors with C-based editors a bit misleading?
I’m not sure if this is useful/relevant here, but I’ve been using Gui Talarico’s ironpython-stubs for intellisense/auto-complete of RhinoCommon and the Revit/Dynamo API in Sublime Text. There are also versions for Atom and VS Code in there. Might be helpful:
I have to disagree with that statement. Most people using scripting components are not programmers. They are not supposed to know the name of every namespace/class/function etc.
In my opinion ide functionality like autocomplete is more suitable for scripting than for applications done by advanced programmers. You already know the api why do you need the autocomplete
You could also argue the opposite. Don’t get me wrong. I do like autocompleting, especially dot.net languages are suited for it, because of reflection. Visual Studio’s Intellisense is awesome, other autocompletion I used was rather bad then good. They a. did not work properly or b. they slowed down writing or c they gave you insufficient information.
However, all these things do make a difference if you code up complex programs. If you don’t know the api, autocompletion may help you because you can quickly browse through it, but you don’t learn much from it.
I’ve read some books about programming and many authors said: Don’t learn with an IDE. Because you don’t really learn the syntax, you don’t learn about the (standard) library. Some even said, the most productive coders they know can fully write a program in a simple text editor and being as fast as people using IDE’s.
I’m no programmer. I never participated in real software development. I wrote plugins, I do automation. The most complex project I coded was still under 50 classes. However doing productive scripting is not easy, because you at least need to think like a programmer.
There is a trend, which is very similar to 3d modelling, where people claim everything is so easy nowadays. But the truth is the opposite. Coding and Modelling nowadays is more complex and demanding then never before. If you want to script, you need to learn a lot. And once you learned it, you feel as dumb as before, because there are so many possibilities. If you want to use a library in a real world scenario, you need to know what it can do and what not, otherwise you quickly get lost and you quit unmotivated. So there is no way around reading the SDK and memorise its content.
vim is also my main editor but I’ve come to see vim more like a set of key bindings than an editor per se. The Visual Studio vim extension is a subset but very usable. Visual Studio Code and Atom also have vim extensions.
vim, Atom, and Visual Studio Code use OmniSharp to get C# autocompletion data so they are good candidates.
Trying out VSCode just now, and yes it looks quite useful.
However, It looks like the C# extension doesn’t provide a means to redirect the compiled executable (.dll/.gha) to any other folder than the default …\bin or …\debug folders.
Or in other words, VSCode doesn’t respect the settings in the .csproj tag < PostBuildEvent > :
Any updates on this ? Suggestions for a roll-your-own ? Shall I try to duct tape avalonedit? Is Scintalla still in the running ? Don’t need full intellisense. Oh ok, I lied, that would be great but I’d just like to get a list of methods and properties after I hit the dot. Maybe a touch of syntax highlighting…
ok. nevertheless, this gives you the possibilitie to autotext rhinocommon outside rhino\gh and Python component can read external python files (right click, show code input parameter) so this could be somethin similar, not exactly what you want.
I agree with Cottonbale, the editors are pretty limited.
I can’t really work with the C# and VB one because it is not clear enough where to put the code and how to organize it.
On the other hand (the Python code editor) it is limited on some modules not being available in the dropdown (I believe they are intentionally hidden though I don’t get why). Also there is no Copy/Paste, no right-click menu no mass comment uncomment with shortcuts.
The API browser is static. This is really disappointing.