Development IDE

Begonnen von malc_b, 19 Februar 2017, 14:01:38

Vorheriges Thema - Nächstes Thema

malc_b

Hi,

Anyone suggest a fhem module development setup (or even just for myUtils routines)?   What IDE, etc. and how to config it.  I currently have my fhem test setup running on a raspberry pi so a web base remote IDE would work for that, or I could set up a test fhem installation on my windows PC (wiki has how to do that without registry entries).  I already have padre perl IDE and stawberry perl on my PC if that helps.

TIA

fruit

#1
I use a simple text editor that has context highlighting and then ssh to my live fhem system when I am ready. On occasions I have set up another Pi with an offline fhem instance.
I have not found a need for anything more complicated than that so far

Edit:
I forgot mc (midnight commander) but of course mc is an essential on any linux system ;)
Feel free to follow up in German if you prefer

Loredo

#2
IMHO there is no IDE for Fhem as such. It has fairly moderate requirements for its environment.

I recommend getting FHEM via SVN on your local machine. I am using Versions as a GUI on my Mac (quite nasty but AFAIK there does not seem to be any alternative).
For Windows, I believe a combination of TortoiseSVN and PuTTY is the way to go.

Second, install one (or even many) Perl versions using Perlbrew (I believe for Windows you would want to have a deeper look to berrybrew). It will help you to test using different Perl versions.
You might also want to install cpanm for easy Perl module installation (also see here).

Personally, I prefer the TextMate2 editor on my Mac. However, for multi-platform I believe you might want to go for Atom.

TextMate has direct support for perl-tidy to clean-up and structure your code which I find to be very useful and convenient. For Atom, there seems to be a package for integration as well.


Hope this helps to get started.




Regards,
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Bob B

I use Eclipse + EPIC plugin to develop my fhem stuff. On a Linux PC.

It's heavyweight and needs experience but works well, mostly - breakpoints can be feisty and the way fhem runs user modules can confuse you and/or the perl debugger. Ignoring the debugging side, just having a really powerful IDE is a joy.

I don't know (and don't want to know!) what the Windows experience would be.

crowzero

Hallo zusammen,
ich nutze ein eigenes Git-Repo auf meinem lokalen Rechner mit Atom. Das Deployment auf den Raspi mach ich mit Rake (Ruby). Hier verwende ich verschieden Tasks:
$ rake -T
rake BuildCFG:controls    # Controls
rake BuildCFG:devices     # Devices
rake BuildCFG:structures  # Structures
rake deploy:all           # Deploys all from the local development to the remote server
rake deploy:default       # Deploy own Perl-Modules, WWW-Directory and CFG from the local development to the remote server
rake deploy:ftui          # Deploy only FTUI - FHEM Tablet UI from local development to the remote server
rake sync:all             # Syncs all from the remot server to local development
rake sync:cfg             # Syncs configuration files (cfg) from the remot server to local development

Wenn ich Einstellung auf dem FHEM mach oder ein Update, dann sync ich die Änderungen über rake sync:all ins Git-Repo.

Derzeit experimentiere ich mit einer Vagrant VM auf dem Lokalen Rechner um eine komplette Entwicklungsumgebung zu bekommen, ohne alle Gateways usw. doppelt zu besitzen.

Würde mich interessieren, was Ihr so als Dev-Enviorments einsetzt.

Gruß,
crowzero