Development environment
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Development environment | scl | 01 Dec 10:43 |
Development environment | Elle Stone | 01 Dec 16:00 |
Development environment | Vincent Cadet | 01 Dec 18:41 |
Development environment | Michael Henning | 01 Dec 21:26 |
Development environment | Shlomi Fish | 02 Dec 10:17 |
Development environment | scl | 02 Dec 13:02 |
Development environment
Hi,
as I'm currently getting deeper into GIMP development, I'm considering which tools to use beside the already known git, jhbuild, make, autotools etc. I mean which IDE, Git (GUI) client etc. do you use? Because I know that this question can lead to animated discussions, I'm explicitly not asking who has the greatest tool, but which tools *have proved* efficient and useful for you?
I already checked the mailing list archives and found some hints, but no exhaustive answer. I'd be glad if you could answer the following questions I mainly found at [1] (thanks to Massimo!). The answers would be a guide for other new contributors, too.
Q: What is the tool that you use for Gimp development (ex: Vim, Emacs,
Eclipse, Netbeans, Anjuta, ...)?
A:
Q: Does your development environment support direct compilation (answer
Yes or No)? If so please explain how in the note (e.g. IDE/editor
feature or with plugin x, script y, ...).
A:
Note:
Q: Does your development environment support code completion (answer Yes
or No)? If so please explain how in the note (e.g. IDE/editor feature or
with plugin x, script y, ...).
A:
Note:
Q: Does your development environment support documentation browser?
(answer Yes or No)? If so please explain how in the note (e.g.
IDE/editor feature or with plugin x, script y, ...).
A:
Note:
Q: Does your development environment support debugging? (answer Yes or
No)? If so please explain how in the note (e.g. IDE/editor feature or
with plugin x, script y, ...).
A:
Note:
Q: Does your development environment support code refactoring? (answer
Yes or No)? If so please explain how in the note (e.g. IDE/editor
feature or with plugin x, script y, ...).
A:
Note:
Q: Does your development environment support Bugzilla integration? If so
please explain how in the note (e.g. IDE/editor feature or with plugin
x, script y, ...).
A:
Note:
Q: What are the special benefits of your development environment? A:
Q: What are you still missing? A:
Q: Which additional comments do you have? A:
Thank you in advance!
Kind regards,
Sven
[1] http://www.mail-archive.com/gimp-developer@lists.xcf.berkeley.edu/msg21662.html
Development environment
I'm sure other people will have better answers.
Q: What is the tool that you use for Gimp development (ex: Vim, Emacs, Eclipse, Netbeans, Anjuta, ...)?
A:
code editor (Geany) + a virtual terminal + valgrind + GDB
Q: Does your development environment support direct compilation (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Yes.
Note:
Compilation is built into Geany, bu I use a virtual terminal instead.
Q: Does your development environment support code completion (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
No
Note:
There might be a plug-in that provides code completion, but I never felt any need (unlike when writing html, for which I use bluefish).
Q: Does your development environment support documentation browser? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Note:
I don't know what "documentation browsing" is, other than opening documentation and reading it.
Q: Does your development environment support debugging? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
GDB and valgrind.
Note:
Q: Does your development environment support code refactoring? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Note:
I don't know what code refactoring is.
Q: Does your development environment support Bugzilla integration? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
No
Note:
Q: What are the special benefits of your development environment? A:
No complicated guis to deal with, esssentially no CPU or RAM overhead except when actually compiling.
Q: What are you still missing?
A:
The one thing I don't like about Geany is I haven't figured out how to save different sets of documents for reopening when I switch projects.
Q: Which additional comments do you have? A:
http://ninedegreesbelow.com - articles on open source digital photography
Development environment
Hi Elle.
--- En date de: Sam 1.12.12, Elle Stone a crit:
I'm sure other people will have
better answers.Q: What is the tool that you use for Gimp development
(ex: Vim, Emacs,
Eclipse, Netbeans, Anjuta, ...)?
A:code editor (Geany) + a virtual terminal + valgrind + GDB
...
Q: Does your development environment support code completion (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:No
Note:
There might be a plug-in that provides code completion, but I never felt any need (unlike when writing html, for which I use bluefish).
I'd just like to add that Geany *does* support code completion ( http://www.geany.org/Main/About ). I'm using it too (FTR mainly for my PHP development needs). Felt like rectifying this ;-) .
Cheers, Vince C.
Development environment
Q: What is the tool that you use for Gimp development (ex: Vim, Emacs, Eclipse, Netbeans, Anjuta, ...)?
I use gedit and xterm, and then just alt-tab between them.
All revision control for me is done on the command line. Sometimes I open up separate terminals for git-related stuff and for building/testing.
$EDITOR is set to nano, which git uses for text editing.
Using a command line pastebin client can also be very useful at times.
Q: Does your development environment support direct compilation (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
I always build using the terminal.
(Gedit has a plugin to run arbitrary commands when you press certain shortcut keys, but I don't use it.)
Q: Does your development environment support code completion (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
No. I've used IDE's that did this before, and found that automatic features like this don't really help me much - a lot of the time if the IDE tries to be "smart", it just pisses me off and does something I don't want it to.
I'd rather just type the code myself.
Q: Does your development environment support documentation browser? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
I use firefox for documentation, in a separate workspace.
If I can't find something about the gimp or gegl api, I normally just git grep for related code (function definitions, similar code, etc) and read that until I find what I need to know.
Q: Does your development environment support debugging? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
I use gdb in a terminal for that. For memory bugs I use valgrind.
Q: Does your development environment support code refactoring? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
Sometimes I use find and replace within gedit. Not sure if that counts.
See answer about "smart" IDE's above.
Q: Does your development environment support Bugzilla integration? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
I use firefox for bugzilla.
Q: What are the special benefits of your development environment?
Simple to setup. Simple to get used to.
If you decide you don't like one specific component, you can swap it out for another.
It starts up instantly.
Q: What are you still missing?
Like elle, I'd like it if I could get gedit to have groups of documents and open/close all of them at once.
gedit could also use a "Save All" button.
It's possible that there are extensions for this stuff, but I'm too lazy to go looking for them.
Q: Which additional comments do you have?
I've heard people say before that IDE's aren't popular among linux users because on linux the entire OS fills the role of an IDE. I couldn't agree more.
I like it when each application fills a single purpose instead of having one app (an IDE) that tries to do everything well.
Development environment
Hi scl,
On Sat, 01 Dec 2012 11:43:44 +0100 scl wrote:
Hi,
as I'm currently getting deeper into GIMP development, I'm considering which tools to use beside the already known git, jhbuild, make, autotools etc. I mean which IDE, Git (GUI) client etc. do you use? Because I know that this question can lead to animated discussions, I'm explicitly not asking who has the greatest tool, but which tools *have proved* efficient and useful for you?
I already checked the mailing list archives and found some hints, but no exhaustive answer. I'd be glad if you could answer the following questions I mainly found at [1] (thanks to Massimo!). The answers would be a guide for other new contributors, too.
Q: What is the tool that you use for Gimp development (ex: Vim, Emacs, Eclipse, Netbeans, Anjuta, ...)?
A:
I used gvim (a sort-of-GUIish version of Vim), valgrind, gdb, konsole, KDE, Bash, some perl on the command line, etc.,
Q: Does your development environment support direct compilation (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Note:
Yes. it does: type ":make" in the gvim window. (Not sure I always use it, though).
Q: Does your development environment support code completion (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
Note:
There are several code completion mechanisms and plug-ins for Vim. Maybe seem OmniComplete.
Q: Does your development environment support documentation browser? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Note:
I use Firefox for that.
Q: Does your development environment support debugging? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
Note:
I tend to use gdb for that.
Q: Does your development environment support code refactoring? (answer Yes or No)? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...). A:
Note:
I'm not sure if there's an open-source code refactoring tool for C available. Some refactorings can be done semi-manually using a tool such as Perl, Emacs macros, or http://coccinelle.lip6.fr/ .
Q: Does your development environment support Bugzilla integration? If so please explain how in the note (e.g. IDE/editor feature or with plugin x, script y, ...).
A:
Note:
No Bugzilla integration, but a web browser should be good enough.
Q: What are the special benefits of your development environment? A:
Well, gvim allows for fast editing and can combine various keystrokes in a myriad of ways. It takes some time getting used to, but a small subset of the command can be learned pretty easily.
Q: What are you still missing?
A:
Well, maybe I want something more integrated, and with better (and fast) GUI support.
Regards,
Shlomi Fish
Q: Which additional comments do you have? A:
Thank you in advance!
Kind regards,
Sven
[1] http://www.mail-archive.com/gimp-developer@lists.xcf.berkeley.edu/msg21662.html _______________________________________________ gimp-developer-list mailing list
gimp-developer-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gimp-developer-list
----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Interview with Ben Collins-Sussman - http://shlom.in/sussman Microsoft — making it all make sense. Ours. Please reply to list if it's a mailing list post - http://shlom.in/reply .
Development environment
Hi,
thank you for your answers until now. I read there were some uncertainties about code refactoring. Code refactoring means to rework the code to make it more readable, less complex, more maintainable and more extensible. Although the code is better to handle for developers then, its functionality does not change. Usual code refactoring steps are for instance renaming variables and functions, extracting or inlining functions or breaking components into smaller parts with clear, simple-to-use interfaces (taken from the English Wikipedia [1]. A more detailed description can be found there). Automated refactoring support is for instance finding all occurences of a specified variable or function in the project to rename them consistently.
Kind regards,
Sven
[1] en.wikipedia.org/wiki/Code_refactoring