Thread Tools Display Modes
06/16/14, 12:32 PM   #1
CrazyNatey
Join Date: Jun 2014
Posts: 4
Addon Development general questions

I'm looking on breaking into the addon development, but had some questions.

Which IDE is most popularly used to develop ESO Addons?
I can see that ESOUI integrates with Github, but also has it's own SVN Repository. Which Repository is preferred?
  Reply With Quote
06/16/14, 12:37 PM   #2
ingeniousclown
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 122
No IDEs, just Sublime Text, Notepad++, vim, whatever your favorite text editor is. Sublime Text is amazing though.
  Reply With Quote
06/16/14, 03:23 PM   #3
katkat42
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 155
ISTR that someone had done an IntelliJ plug-in for lua, but that seems to me like overkill for developing in an environment that's mostly specialized API. (I think the person who did it used IntelliJ professionally and didn't want to switch.) Most of Clown's suggestions above do syntax highlighting and paren matching, though not function or variable name auto-complete. And since Clown mentioned vim, I feel obligated to add EMACS to the list.

As for version control repos, I think the preference is left up to the add-on developer(s). And again, it's probably overkill to use either for little, one-person projects, which most of ESOUI's offerings are (with some exceptions).

tl;dr: You're probably attributing more sophistication to add-on development than it usually has!
  Reply With Quote
06/16/14, 09:19 PM   #4
Sasky
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 231
I use IntelliJ with the mentioned plugin or Notepad++ for quick edits. You get the syntax highlighting, some error checking (without compiling). As well, someone put up autocomplete files for the API awhile back.

SVN or Git is mainly down to preference, especially since most authors develop solo. You do want to have some sort of VCS though, even if solo-developing. It allows you to save and version your work. You can try out new features on a separate branch and easily fall back if it doesn't work out. As well, you can stash your work, go back to the last release to push out a bugfix, then resume your work.

By the way, the Git on ESOUI (http://git.esoui.com/) is separate from Github. You lose some of the tracking and pull features on Github, but have the package to zip here. Of course, you could easily have Github and Esoui both as remotes.

Last edited by Sasky : 06/16/14 at 09:22 PM. Reason: VCS reasons
  Reply With Quote
06/18/14, 06:41 AM   #5
Taraezor
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 4
I use TextEdit for Mac OSX. Has all the bells and whistles you need for a full blown IDE for LUA AddOn programming.

I.e. nothing.



Seriously, as a hobbyist it is thankfully refreshing from my point of view to NOT have version / change management issues and all this coloured stuff and auto completion happening in the "IDE". For me it would be overkill and take away the fun aspect.

Last edited by Taraezor : 06/18/14 at 06:45 AM.
  Reply With Quote
06/18/14, 08:15 AM   #6
ingeniousclown
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 122
Originally Posted by Taraezor View Post
I use TextEdit for Mac OSX. Has all the bells and whistles you need for a full blown IDE for LUA AddOn programming.

I.e. nothing.



Seriously, as a hobbyist it is thankfully refreshing from my point of view to NOT have version / change management issues and all this coloured stuff and auto completion happening in the "IDE". For me it would be overkill and take away the fun aspect.
I thought that at first, too, but the colors help out a lot by allowing visual recognition to happen much faster. Autocompletion, while not always welcome, can easily increase the speed at which you crank out your code and helps out with the more tedious parts.

Version and change management are not strictly necessary, though. In fact, with ESOUI archiving all the older things, that serves as a rudimentary version control system itself.
  Reply With Quote
06/18/14, 07:30 PM   #7
Wobin
 
Wobin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 78
ESOUI's package and zip is brilliant. Otherwise if I pull from Github, I have to edit the folder names, and -then- upload them.

Having a button that does all that for me was a godsend. I enjoy the VCS because it allows me to easily see what changed between versions, and if bugs are reported after a new version, it's straightforward to see what code might have effected the bug. Also, developing on more than one machine requires VCS to avoid overwriting things.

As for an 'IDE', SublimeText3 with lualinter saved me a hell of a lot of time, highlighting syntax errors before I even needed to look at the game.
  Reply With Quote
06/19/14, 05:44 AM   #8
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Originally Posted by ingeniousclown View Post
No IDEs, just Sublime Text, Notepad++, vim, whatever your favorite text editor is. Sublime Text is amazing though.
Any Text editor can be our IDE. Personally I use Notepad++
A manual hit of save of changes and /reloadui ingame is our compialtion order (there is a addon to keybind that later part).
  Reply With Quote
06/19/14, 08:20 AM   #9
ingeniousclown
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 122
Originally Posted by zgrssd View Post
Any Text editor can be our IDE. Personally I use Notepad++
A manual hit of save of changes and /reloadui ingame is our compialtion order (there is a addon to keybind that later part).
A good text editor does not make an IDE. IDE stands for "Integrated Development Environment". Some text editors, such as Sublime, can become an IDE through plugins, though.
  Reply With Quote
06/20/14, 06:15 AM   #10
farangkao
 
farangkao's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 59
You talk about IDE....I have a little Surprise for you guys



Read more on my own Topic about it.

You won't be disappointed
  Reply With Quote
06/21/14, 08:11 AM   #11
Tar000un
 
Tar000un's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 47
My /played on a reroll have been three times higher, since using SublimeText 3. x)
  Reply With Quote
06/22/14, 01:24 AM   #12
zgrssd
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 280
Originally Posted by ingeniousclown View Post
A good text editor does not make an IDE. IDE stands for "Integrated Development Environment". Some text editors, such as Sublime, can become an IDE through plugins, though.
I know what IDE means. The current common features often include:
Keypress compilation & start (not possible here, save & /reloadui is our compile order)
Syntax Highlighting (most forums can do that, editors are the easiest part)
Intelli Sense (http://en.wikipedia.org/wiki/Intelli...de_completion; at least the "help with names" part can be done by notepad++ and everything else.)
Optionally code profiling tools to optimise the code for speed.

What frangkao linked seems to have intellisense with all the know data about the API worked in. Plus some type of API simulator to testrun/profile function calls in a sandbox.
  Reply With Quote
06/22/14, 01:30 AM   #13
farangkao
 
farangkao's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 59
Originally Posted by zgrssd View Post
What frangkao linked seems to have intellisense with all the know data about the API worked in. Plus some type of API simulator to testrun/profile function calls in a sandbox.
Well API Simulator is a bit high praise

What i did is essentially create all Functions, Globals, that i knew, they all return Dummy Data.
So it is possible to Compile and Debug only on a certain level.
i'm doing it with my Mobile Bank Extended Addon ,and it helps alot during developing.

The Real tricky part (still not perfect) is to integrate the XML Files into the equation.
Because not only are their known Objects (Standard Functions etc.) and stuff that is defined in LUA Files (which can be incoperated thru dofile commands), but also the XML Markup is automatically generating objects which needs to be in existants to allow run/debugging.

Basically what i did there is simulate the WINDOW_MANAGER:CreateControl() function so it gives back some dummy Data.


Last edited by farangkao : 06/22/14 at 01:33 AM.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Addon Development general questions


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off