GDL
About building parametric objects with GDL.

GDL Syntax Highlight for VSCode

Miha Nahtigal
Advocate
I've just published a VSCode Extension for GDL highlighting (it's free). It is a first release so it is a bit rough. I'll try to update it regularly.

You can download it from VSCode marketplace or install it directly from VSCode->Extensions (search for GDL).
45 REPLIES 45
Nader Belal
Mentor
I support Putnam request
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
vdentello
Advocate
Yet can we still dream as something as simple as line numbering in GDL window inside Archicad? Or even like an extra text color (could be one for comment sections only), would make things much simpler.
Archicad User Since 2013
GDL Developer
Experimenting with API
from Brazil
Joe Putnam
Booster
vdentello wrote:
Yet can we still dream as something as simple as line numbering in GDL window inside Archicad? Or even like an extra text color (could be one for comment sections only), would make things much simpler.

That would be nice but Visual Studio Code is already a modern IDE. To me it would make much more sense for Graphisoft to continue to develop this extension and workflow to include remote debugging and execution of a running ArchiCAD instance in a way that is compatible with the existing workflow within ArchiCAD.

No need to use the internal editor if we can use a modern IDE that is tightly integrated. Unfortunately it is my understanding that the API does not yet allow for this. Most important is that they are not wasting development time and money on the IDE but putting that effort into modernizing and improving the scripting workflow.
vdentello
Advocate
Joe wrote:
vdentello wrote:
Yet can we still dream as something as simple as line numbering in GDL window inside Archicad? Or even like an extra text color (could be one for comment sections only), would make things much simpler.

That would be nice but Visual Studio Code is already a modern IDE. To me it would make much more sense for Graphisoft to continue to develop this extension and workflow to include remote debugging and execution of a running ArchiCAD instance in a way that is compatible with the existing workflow within ArchiCAD.

No need to use the internal editor if we can use a modern IDE that is tightly integrated. Unfortunately it is my understanding that the API does not yet allow for this. Most important is that they are not wasting development time and money on the IDE but putting that effort into modernizing and improving the scripting workflow.
Yes, it's modern, it's useful and yet quite scary for new users. I still believe that a lot can be achieved inside Archicad, not having to go through something else, sorting folders, etc.
It could be much more accessible. Not everyone is capable/ comfortable with using VSCode. That just means less people involved with GDL.
I've taught basic GDL to a couple people and just the idea of having to use VSCode and LP2XML or HSF conversion for sure would've scared and put most of them away.
Archicad User Since 2013
GDL Developer
Experimenting with API
from Brazil
William Yan
Expert
Joe wrote:
Peter wrote:
Yes, the intent is that it will be open-source, we need some time to organize it in a company-standard way.
Great news. It would also be good to add a series of best practice tutorials to the you tube site. Similar to what is done for ArchiCAD in general. Something that would blow my mind would be if Graphisoft setup a github account similar to McNeel and had GDL and API samples that are as in depth as those found here.

https://github.com/mcneel/rhino-developer-samples

https://github.com/mcneel

It might be too much to ask but try open sourcing Param-O Look what that has done for Dynamo

https://dynamobim.org/
yes! Agree!
AC 26 5002 CHI, Windows 10
Hmooslechner
Rockstar
The benefit of scripting directly in Archicad is, that you get immediate results without loosing your time by copy-paste-actions or compiling actions and the need of loading libraries again and again into Archicad.

The need of using "alien programs" to script GDL slows down GDL-Development a lot - especially for me who does much in trial-error..

All this time-thiefing would not be nescessary if Graphisoft would renew the inner scripting. What is so difficult on it?

Graphisoft - develop a better GDL-Editor within!

Whats the problem, getting line-numbers, syntx highlighting and similar improvements within Archcad. That should be peanuts!

Did Graphisoft by this GDL from someone else and now they have no access to the original code? Just guessing..

Similar thoughts came up in me thinking about the old stairmaker..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Joe Putnam
Booster
Hmooslechner wrote:
The benefit of scripting directly in Archicad is, that you get immediate results without loosing your time by copy-paste-actions or compiling actions and the need of loading libraries again and again into Archicad.

The need of using "alien programs" to script GDL slows down GDL-Development a lot - especially for me who does much in trial-error..

All this time-thiefing would not be nescessary if Graphisoft would renew the inner scripting. What is so difficult on it?

Graphisoft - develop a better GDL-Editor within!

Whats the problem, getting line-numbers, syntx highlighting and similar improvements within Archcad. That should be peanuts!

Did Graphisoft by this GDL from someone else and now they have no access to the original code? Just guessing..

Similar thoughts came up in me thinking about the old stairmaker..


I think what you are all missing is that there is no reason to develop the in app editor any further and I am 110% certain they will never do this as it would be a waste of funds and time. All they need to do is expose the GDL engine to the API and we could have a first class IDE that has all of the functions of the built in tools but much better. Many apps work this way with external tools and the worry about "slow down" and iteration issues are non existent.
vdentello
Advocate
Joe wrote:
Hmooslechner wrote:
The benefit of scripting directly in Archicad is, that you get immediate results without loosing your time by copy-paste-actions or compiling actions and the need of loading libraries again and again into Archicad.

The need of using "alien programs" to script GDL slows down GDL-Development a lot - especially for me who does much in trial-error..

All this time-thiefing would not be nescessary if Graphisoft would renew the inner scripting. What is so difficult on it?

Graphisoft - develop a better GDL-Editor within!

Whats the problem, getting line-numbers, syntx highlighting and similar improvements within Archcad. That should be peanuts!

Did Graphisoft by this GDL from someone else and now they have no access to the original code? Just guessing..

Similar thoughts came up in me thinking about the old stairmaker..


I think what you are all missing is that there is no reason to develop the in app editor any further and I am 110% certain they will never do this as it would be a waste of funds and time. All they need to do is expose the GDL engine to the API and we could have a first class IDE that has all of the functions of the built in tools but much better. Many apps work this way with external tools and the worry about "slow down" and iteration issues are non existent.
@Joe, I see the point. Yet, Line numbering sounds to trivial, it's kinda hard to believe that it would consume a lot of resources to implement. Or even like I said, colored comments.
It's not about having a first class IDE inside Archicad, just something that is at the least Decent to look at and usable.
Archicad User Since 2013
GDL Developer
Experimenting with API
from Brazil
Nader Belal
Mentor
@Hmooslechner

In programming/scripting there are two type of people, people who need an interface to know what they are doing and detect their errors in an easier manner such as myself, and people who can programming/scripting without the the need of the interface.

I belong to the first type, but the VScode and the default tools that it brings with in have been a bliss for me and have helped me to script a little bit faster.

@vdentello I know that not having line numbering is a little bit infuriating, but have you tried the short cut of "Ctrl + L" !!!

@Joe Putnam
All they need to do is expose the GDL engine to the API and we could have a first class IDE that has all of the functions of the built in tools but much better.
Would you be kind enough to explain this statement since I don't quiet get it.
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.
Joe Putnam
Booster
Would you be kind enough to explain this statement since I don't quiet get it.

The point is yes, they are two different applications, Archicad and Visual Studio Code. Ideally we would be able to use VSC exactly as if it were the built in editor so none of the xml garbage or the need to copy & paste. Not simply an external tool for the traditional library development workflow, although it should also be capable of doing so as that does have benefit to library developers.

In order to do this some functionality of the GDL interpreter needs to be exposed to the API and probably an addon developed so that the VSC extension can talk to it and provide things like reloading of scripts and external debugging. Personally this effort makes more sense to me than anything they could do to improve the internal editor. In fact they should make VSC work seamlessly in my mind and then remove the internal editor as I am sure that code is horribly difficult to maintain, just look at it its from the 80s!

Blender Python Example:
The blender team actually added a few functions to Blender and the API to be able to do exactly what I am proposing.



a bit of technical jargon
https://code.visualstudio.com/api/extension-guides/debugger-extension

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!