Because we all talk here, so I report bugs here, GitHub is ok too, it may be more quick for me to visit.
For the if bug, I have tested in SE, if "if (true)" is in another line, it did not pass the syntax checking. But now it pass... Maybe BLZ fix it? !!!∑(゚Д゚ノ)ノ
I will report in GitHub if find another bug, hope I won't have a chance to do.
That's because you were previously accepting "AIEvalSetCustomIndex" as suggestion, when typing "else". For that reason, editor now assumes it is your preference over keyword "else", which previously was not available - look that "else" is now at the top of the list. As far as sorting goes it is fine. You probably just have to choose "else" once, and editor will remember your choice. It's actually recent feature of VSCode
I have not use vscode before.
I'll probably slow down with work on new features in upcoming days/weeks, and switch my focus to other stuff. But keep reporting any issues you encounter - these are useful, as I don't work much with SC2 projects recently.
Now this is the best one for writing galaxy. Thanks for your work again.
However, as a long term plans.. or rather ideas. I'd like to implement frontend debugging UI for Galaxy in VSCode ( https://code.visualstudio.com/Docs/editor/debugging ). Which would utilize default TrigDebug window as a starting point. Primary reason is to make new frontend convenient to use, because default one is not so friendly... perhaps it would be possible to come up with some exclusive features. Although SC2 binaries got really hard to RE during these years (and I never was good at that to begin with :| ). I gotta dig more to see whether something like this would be feasiable at all.
You mean use vscode to debug Galaxy script? You want to write a VM for galaxy or run SCII and get data and control the game? BLZ start to add features for SE, so it will be a continuous work. If you finish it, it will be great! As we know, BLZ have never supported a good debug tool, no matter WE of War3 and SE of SC2.
The other thing I'm considering is yet another Galaxy Language Extension - acting as transpiler. My focus on this would be on features meant to improve usability, while avoiding implementing dynamic capabilities like Galaxy++ did. As there's no easy way to emulate that - it quickly gets messy. But seeing how low interest there's about Galaxy related things within community, it might be simply too late for such project. If I'm however wrong about that, I'm open for collaboration.
I am a original-edition-ism user. It is a bad habit of caring efficiency from the period of War3. I do not like vJass, cJass and other extensions of Jass2, the script language of War3. But for SC2, galaxy is enough efficient. So I have never used the extension of Galaxy++.
It is just a habit. And I think you can add a support of write a class, which can add methods to a struct (just like a class in c++),as a further feature support the scope of methods and field of struct.
As you say, it may be so late to do this. I think I will not a user of it, but I think it is worthwhile. For War3 in China there are still so much mapmakers woke for WE tools, before the Class Team of BLZ continue its work of War3 in years. The fist thing is if you want and have enough time to do, is not if it so late. Is that right?
And you may not add the new function of 4.0, such as BankBackup, this function is not in natives.galaxy and NativeLib.galaxy, but it is list in the Trigger Library.
Another is could you add the keywords into the Code completions? When I input else it always change to
AIEvalSetCustomIndex. Because after input else, i need input Enter to start a new line.
This error in particular will be fixed in upcoming version. It occured when hovering over comments/whitespaces at the end of file or within include statements.
.....
Sure. Already started work on this, hoping to have it done by the end of the week.
Good job!
I know about the problem related to handling of multibyte characters in Galaxy lexer within SC2, but what you suggest as a solution for this?
Add option to transpile the script and escape these characters using '\x' notation?
But since I'm not making a language extension like `Galaxy++` (at least not yet), not sure how should this be handled at the current moment..
No, just show the multibyte character as a warning or error. This issue always happen in the comment, so your parser can not find it, if the user want to use multibyte character, he can translate it as unicode type ('\x') himself. I have write a tool to do that.......
Hmm.. so you're not saving galaxy files within map/mod directory? Just copy pasting parts of code one by one to GUI `script code` section seems rather uncomfortable to work with. Especially when you need to go back and update something.
Is there a particular reason you do it this way?
My work in Forggy & Catty is write base system in galaxy, and another partner works for game with GUI (Delphinium works for art). I need encapsulate galaxy function to GUI function for him.
I've seen it in Delphinium videos. Cool stuff. Not sure if you guys are still planning to release it publicly, but if so I will certainly check it out.
Thanks, we want to release it, but it have more relations with the underlying systems of BLZ Enforcement. So it need much work, while we do not have enough time to do. We have our formal job in 8 hours.
I was mostly interested about a way to alter terrain textures. But not just swap large part of texture surface using one of prepared presets (which is what you seem to be doing?).
I was hoping for possibility to actually paint.. or rather have handful different shapes of splat models, so that terrain could be customized in detailed way.
Delphinium find a way to make a splat models can use a special terrain texture as its materials. It will use another channel of splat (as Delphinium say there are 16 channels, and the terrain use 8, others are use for splat). Now there are also some issues about splat (relate with generated order of splats).
If you have finish the work about typedef and family, please release a new version. I write a new mod of terrain editor (rewrite the terrain mod of BLZ Enforcement). And I need these features.
I have a try of Visual Studio Code, as I always use Notepad++ for text file.
Visual Studio Code looks like more comfortable than Sublime Text, if your extension is finish I will use it as a alternative of Galaxy Editor++. And now, the extension generate many errors in output panel, such as:
Message: Request textDocument/hover failed with message: how did we get here?
Code: -32603
And there is another suggestion, could you take a feature to checking Unicode character in the script, special for the Comments, as we know custom script in SE do not accept non-ASCII characters, and if I use Chinese character "," instead of English character "," I can not copy script text to the SE window. and it is hard for me to find it with eyes.
I think read files from CASC, or MPQ is a wrong way too, it will lock the file so SE can not run or can not load Mod/Map. After SBeier gave up GE++, another people modify GE++ to support newest native.galaxy by this way. And it cause issues like what I say. So I have two SC2 clients at that time, one is CN, the other is EU/KR/US...
Another way to support script/Data form official mod is extract all files (without asserts file). and it is hard to follow the newest version of SC2.
For me, I write galaxy as a Lib, and put them in SE as a Custom script, then encapsulate it to trigger function or trigger action. The Lib is isolated, so I do not need check dependencies except native.galaxy.
0
In reply to Talv_:
0
This can pass the syntax checking.
0
0
I have not use vscode before.
Now this is the best one for writing galaxy. Thanks for your work again.
You mean use vscode to debug Galaxy script? You want to write a VM for galaxy or run SCII and get data and control the game? BLZ start to add features for SE, so it will be a continuous work. If you finish it, it will be great! As we know, BLZ have never supported a good debug tool, no matter WE of War3 and SE of SC2.
I am a original-edition-ism user. It is a bad habit of caring efficiency from the period of War3. I do not like vJass, cJass and other extensions of Jass2, the script language of War3. But for SC2, galaxy is enough efficient. So I have never used the extension of Galaxy++.
It is just a habit. And I think you can add a support of write a class, which can add methods to a struct (just like a class in c++),as a further feature support the scope of methods and field of struct.
As you say, it may be so late to do this. I think I will not a user of it, but I think it is worthwhile. For War3 in China there are still so much mapmakers woke for WE tools, before the Class Team of BLZ continue its work of War3 in years. The fist thing is if you want and have enough time to do, is not if it so late. Is that right?
0
Keyword "else" is add, but not the auto-select one when I input "else".
And do not check if return is exist.
0
And you may not add the new function of 4.0, such as BankBackup, this function is not in natives.galaxy and NativeLib.galaxy, but it is list in the Trigger Library.
Another is could you add the keywords into the Code completions? When I input else it always change to
0
Macro is a special galaxy syntax for galaxy which only use at custom script in function/action definition.
Such as CombineStrings. Its code like this
(#PARAM(str1) + #PARAM(str2))
For "for" in GUI Action is
#INITAUTOVAR(ae,e)
#INITAUTOVAR(ai,increment)
#PARAM(var) = #PARAM(s);
for ( ; ( (#AUTOVAR(ai) >= 0 && #PARAM(var) <= #AUTOVAR(ae)) || (#AUTOVAR(ai) < 0 && #PARAM(var) >= #AUTOVAR(ae)) ) ; #PARAM(var) += #AUTOVAR(ai) ) {
#SUBFUNCS(actions)
}
It is can not use in Galaxy file, it only use in definition.
They are like a macro and when SE generation galaxy file, they will be replaced with generated galaxy code.
I have find the invalid character is not a bug of yours. Maybe it is a bug of calculator itself.
0
Another bug:
Do not check local variable declare location. Not show as a error when a local variable declare after other codes.
0
Another bug is if i declare variables with the same variable name twice, such as
0
Another bug about copy integer from Calculator.
Calculator version is 10.1712.3351.0, in windows 10 1709 with the newest update.
I copy the integer value from Calculator , and paste to the vscode.
It is show me as a error.
This may be a bug of vscode, I install the newest one
in ASCII encode, the copied integer value with two chars (0x3f) as a prefix and suffix.
PS: If you want to add other feature, support the Macro syntax of Trigger Function may a good one.
0
It do not support the funcref array? like the code before.
0
Thanks for your work.
I am touring in Bali with my company, bu maybe I can not enjoy my travel. because we get some information about the bug of BLZ Enforecement.
The bug is from SC2 4.0, error is function too long, the script of the mod is 120,000+ lines. So it is a hard work and I need spend times on it.
0
Good job!
0
If you have finish the work about typedef and family, please release a new version. I write a new mod of terrain editor (rewrite the terrain mod of BLZ Enforcement). And I need these features.
Thanks a lot.
0
I have a try of Visual Studio Code, as I always use Notepad++ for text file.
Visual Studio Code looks like more comfortable than Sublime Text, if your extension is finish I will use it as a alternative of Galaxy Editor++. And now, the extension generate many errors in output panel, such as: