Need IDE suggestions for Chrome Extension project - ide

I currently use Programmer's Notepad for my Chrome Extension project. I like Programmer's Notepad, as it is simple to use and I don't need debugging features (Chrome has all that for me). However, I check the project into Subversion and it stores absolute paths, which will not allow other people to use it unless they use the same exact path.
I have Visual Studio 2010 at my disposal, but I haven't seen a useful way to use it. I have also heard of Aptana Studio, but I was discouraged from trying it out fully because it seemed too bloated for my needs.
What is a good IDE I can use for chrome extension development? The most important factor is good project support. Relative paths need to be stored in the project and it should keep files grouped together so I can work out of the IDE and not have to continuously open files in Windows Explorer.
Secondly good syntax highlighting and intellisense are ideal but I can live without it. Intellisense with jQuery and the built in Chrome Extension API are pluses.

Geany is a good very lightweight with project management and everything. Latest version also includes local intellisense for opened files and has very nice syntax highlighting and some other nice plugins.
Visual Studio 2010 with Resharper (to allow for the JS intellisense) works nice as well but it slightly bloated when it comes to just javascript extension development.
I would actually just recommend a lightweight editor such as Notepad++ or Vim/Emacs but it seems that your project may have grown too big for this so Geany would be my choice.

Komodo Edit is free and seems to meet all of your requirements:
http://www.activestate.com/komodo-edit
If you are willing to pay for it, the ActiveState (same people) Komodo IDE gets very good reviews:
http://www.activestate.com/komodo-ide/features

Related

elm IDE (editor and elm-reactor browser)

Hi I am looking for a split screen IDE for elm. Just an editor on one side and a browser on the other running elm-reactor. I know I can position vi running in a text window and a browser in the other window, but this takes time and is fiddly, I am always having to adjust and find these screens after watching a video. Is there a nice simple IDE that I can start up to do this. The online try elm site is good (http://elm-lang.org/try), but I loose my code when I leave the web site. Ideally I'd like to run elm-reactor with an online editor locally on my machine. Any suggestions would be greatly appreciated.
There is an Elm Plug-in for LightTable that you may like. The demo shows that you can have tabs for editing code and tabs for running the web browser, all within the LightTable IDE.
You could also set up the Atom editor to run a web browser in a separate tab. There is an Atom Elm Plugin which will give you syntax highlighting and Elm Oracle support.
There are a few online editors but these are really only good for small bits of Elm code, useful for testing and sharing small ideas, but not much else.
Ellie - This allows the import of any public package, editing the html which wraps an Elm example, and links and forks of examples.
elm-lang.org/try - As you mentioned, this does not allow sharing of code. It does, however, include a few non-core packages like StartApp
share-elm.com - This site is now defunct This site has the benefit of being able to save code for sharing, or for loading gists. However, as of 2016-01-20, this has not been updated to Elm version 0.16, and it only allows you to import core libraries.
I would be remiss if I didn't mention ElmCast's elm-vim plugin for Vim, and elm-mode for Emacs, both of which offer syntax highlighting and Elm Oracle support, as well as integration with Elm build tools. They don't have a built-in web browser, but with a little configuration, you can certainly streamline your workflow.
...and there is an Elm Plugin for the sophisticated IDEs from Jetbrains like IntelliJ, WebStorm etc.
https://plugins.jetbrains.com/plugin/8192-elm-language-plugin
Most of them are commercial software but there is an open source edition from IntelliJ: IntelliJ Community Edition and also free licenses for education and OSS projects.
For just writing Elm I like Atom Editor with the plugins language-elm, elm-oracle and linter-elm-make.
I really like the elm packages for vscode.
With them it is easy to get auto-complete, and auto-formanting/compilation on save, with compile errors displayed on the code.

Code::Blocks for understanding C++ code it can't build

Have a C++ source I probably can't build in Code::Blocks. If I use it as an editor, would it be helpful in gaining understanding of the code? (Like Intellisense).
How does it compare to Visual Studio in this respect?
How should I go about doing it?
Can it somehow utilize gdb information (When I run it in gdb, there is a lot of information available)
It is Linux gcc/Makefile based.
The main executable is in one directory, but there are many includes, libraries etc.
If I just included all sources I would get sources for other executables (with similar code).
I expect to increase my understanding about where things are located over time.
Note 1: This is Linux, but I can easily edit on Windows. And I am trying to build under Cygwin.
Code::Blocks sounds too light weight for your tastes. Try NetBeans. It has very good hinting tools, doesn't have the infamous copy+paste bug, Its easier to navigate files, and can deal with makefiles better then C::B. Additionally it has a nice interface for debugging, and an exceptional one for performance monitoring.
I would reccomend you install a linux distro through WUBI and forgo using Windows.
I have used NetBeans, Eclipse, Visual Studio, Code::Blocks, and CodeLite. I don't normally write software under Windows anymore, but when I did CodeLite was the most elegant one I found. Debugging was a snap (mingw + GDB), all the meta information about your project is stored in an sqlite db (which I think is a great design), and it supports makefiles.
I think NetBeans would work great as well, but definitely give CodeLite a shot.
http://www.codelite.org/

Multiple IDE project files

We are currently working in a team where we use both Visual Studio and Code::Blocks, is there a way to replicate changes between those project files? So if one adds a file to the project file it will also get adjusted in the project file of the other IDE?
Please note: We want our project to work on multiple IDE's, platforms and compilers. Thus a general solution is welcome too.
I assume you're using a VCS? If so my intuition would be to write a script that syncs up your project files (based on modification date?) and run it as a checkin hook if any of the project files are changed in the commit.
http://wordaligned.org/articles/a-subversion-pre-commit-hook
Well this sounds like exactly the type of problem CMake was created to solve. There is definitely a learning curve which I blame mainly on the obtuse documentation but CMake is used in a lot of open source projects now, such as KDE, OGRE and many, many others so there are a lot of usage examples out there. There is also a basic tutorial here.
CMake uses it's own syntax (which is fairly complex though still easier than autotools in my opinion) which is used with project file generators, which supports make, visual studio, codeblocks, eclipse and possibly others. It also has a installer generator which can make NSIS installers, Mac OS X bundles and debian/red hat packages (and again, possibly others) which I find quite useful.

What build tool do you use professionally?

At home, I use CTRL+SHIFT+B or F7 or whatever key sequence initiates the build for my build tool. At work, this doesn't quite cut it.
At my first job (an internship) we used a product called Visual Build, which I have come to like very much. It's the best build tool I've ever worked with. The down side here is that it's not free.
At my latest job, I came in knowing literally nothing about Ant. Now, unfortunately, I've become deeply involved in our build processes, and cannot extricate myself. It works, yes, but after coming from Visual build, it seems like it's fighting me every step of the way. Yes, it's free, but we're not trying to be a free-software-only development company or anything.
I've never looked in to make or any other build tools, so I don't really know what else is out there.
Has anybody ever seen or had experience with Visual Build? Mostly I'm fond of a few key things:
it has a GUI
it runs arbitrary VBScript without the need of a compiled class
you can step through the build process, or start from anywhere in the middle.
Are there any free build tools that have this? Is there any way to convince people that it's worth it to move on? It's 2008. We use IDEs to develop, why not (IBEs) to build?
Edit: I'm mostly looking for an answer to my last questions; Is there a solution with a built-in GUI that I can use for free?
Not very sophisticated, but we use a set of batch files. And that works great.
We use FinalBuilder - I think it's very similar to VisualBuild, though I've not used the latter.
It does run from the command line, and you can integrate it with CC.Net if you want.
For Java projects we use Teamcity, sort of cruise control like, but you can also do a remote run, i.e. you send your changes to the server, it builds and does unit tests, if everything works ok, THEN you checkin, very nice build tool and free for up to 20 build configurations.
For our Visual Studio 2005 projects including packaging the final exes and dlls with InstallShield and putting them up on a shared server we use Final Builder, it's not free, but it is very easy to use and get started with.
We also telnet out (from FinalBuilder) to a number of other platforms (Unix/Linux/OpenVMS) and start remote builds by running makefiles there.
We do not use continous build, but there is a FinalBuilder Server which handles that and comes free with the FinalBuilder Professional license.
We are very happy with FinalBuilder, it's quite easy to get up to speed with and powerful enough to solve most problems.
CMake. Generates build file for KDevelop, Eclipse, Makefiles and Visual Studio (and XCode), and it really works. You can easily extend it with macros, although the programming capabilities are rather limited. It's easy to learn, and porting an existing application from Visual Studio to it is pretty easy. However, you are limited to C++/C and IIRC Fortran code.
KDE is also using CMake now, so it seems to scale very well (i.e. generation time for the projects/dependency checking is not too bad).
I am not sure this is exactly what you are looking for, but I LOVE CruiseControl.NET. I have it build my projects using the MSBuild task. It doesn't have a GUI exactly, but there is a web interface to view the results of your builds and a System Tray resident program which will alert you of the build status.
UppercuT. It's free.
UppercuT uses NAnt to build and it is the insanely easy to use Build Framework.
Automated Builds as easy as (1) solution name, (2) source control path, (3) company name for most projects!!!
http://code.google.com/p/uppercut/
Some good explanations here: UppercuT
Going back to the keystrokes thing for a sec, I found Hoekey which the CTO loves. I don't use it myself, but as a way of assign keystrokes to things, it's pretty good.
I know nothing of Visual Build, but from your description it sounds like it is tied to Windows and doesn't run from the command line.
If you are building Java software (I assume you are since you are using Ant), it's preferable to have a cross-platform tool. If you can run the tool from the command-line, then it is scriptable which is extremely important for automation.
Ant is also extensible and a de facto standard. Many tools that you may use (Cobertura, TestNG, etc.) provide Ant tasks so that they can easily be intergrated with your build.
I use Ant for all Java projects. Some people prefer Maven, but I'm not one of them. Ant is far from perfect (the XML syntax is a bit clunky) but it is well documented, extremely stable and pretty straightforward.
If you use a standard tool, such as Ant or Maven, you will be able to take advantage of any number of Continuous Integration products. I doubt you will find many that work with Visual Build.
Most IDEs support Ant, so they give you a GUI of sorts and your CI server will give you a web interface for doing builds.
NAnt (.NET port of Ant). Works great and is easily extensible.
For small projects I do use post-build scripts and with the support of 7z, Nsis and similar CLI tools it's doing the job perfectly for me.
TeamCity and CuriseControl works well for any projects,but here is why you would like to choose TeamCity:-
Ease of setup: During setup we found TeamCity easier to setup and use especially compared to CruiseControl. We did not need to edit XML files or massively configure individual build machines like CruiseControl.
Ease of extensibility:TeamCity stands out in its ease of extensibility too. If we find that builds are waiting in the queue too long, we can add more computers as agents. The only additional work on our end is registering the new computers with the TeamCity server and installing msbuild and subversion.
Interaction with Subversion: One can check how many and what changes were committed to subversion since the last build, who started a build etc.
I've grown very fond of scons for building C++ files. It's very straightforward and the build scripts are written in Python (which is much better than some hacked together DSL IMO).
Ant or Maven are great little build tools.
And if you want to automate the build process there are some great tools like TeamCity and Bamboo.
Personally I use Makefiles for pretty much everything because they are simple as hell. But in my work, I'm forced to use ant.
The main problem I have against ant is that XML makes it hard to read and understand, even with the correct indentation. On the other hand, the verbosity of XML can help when reading someone else's ant file, but still makes it a PITA when the file is more than a few tens of lines.
As for having a GUI to build... I've always felt that's a minus rather than a plus.
Maven is the best for me because it handles the project dependencies

Any other IDEs for Lotus Notes other than Domino Designer?

Are there any other IDEs worth my time for Lotus Notes development? We're doing mostly LotusScript development and would kill for features of Eclipse or Visual Studio, like "Show Declaration". I know there's an Eclipse plugin for Java development in Notes, but seems like it only does Java, and we have too many pieces of legacy code in LotusScript to abandon it.
Lotus Notes has moved to the Eclipse platform in version 8. You can run the client in 2 different modes, basic mode which is the version we all know or on the Eclipse platform (know as the standard). The IDE is also moving to eclipse, version 8.5 beta 2 is currently available with the new Eclipse based IDE. Bear in mind that it's a Beta version and it's not feature complete.
Time is on our side.
The Domino Designer based on Eclipse is now a free download from http://www.ibm.com/developerworks/downloads/ls/dominodesigner/learn.html
It has brilliant Java and LotusScript editors with all the nice Eclipse features like refactoring and typeahead of custom classes.
Every Domino addict should look at this. Admins too, as the above download includes the admin client.
As of version 8.5 Domino Designer is run as an Eclipse application. 8.5.1 will bring a whole ton of improvements including Eclipse based LotusScript and Java editing as well as improvements to performance, stability and XPages.
Matt
The closest thing you're going to find is the Teamstudio LotusScript Browser.
It's not very good, but it is free and that almost makes up for it.
Features:
No support for keyboard shortcuts.
Not completely integrated into the designer so is a bit sluggish.
Only works in script libraries
It does have Find Definition and References functionality which are almost useful.
There is also a rumored LotusScript plug-in for eclipse.
Teamstudio sell a number of tools to assist your Lotus Notes development, and it looks like they can do some of the things you want, but it doesn't look like they can be assembled into an IDE.
http://www.teamstudio.com/products/product-index.html
(Disclosure: I worked for a sister company of Team Studio a number of years back, but never had much to do with their products)
You could give the Zeus IDE a test drive. It is highly and language neutral so it might be possible to configure it for Lotus Notes.
Zeus automatically maintains a tags database based on the information produced by ctags, so provided ctags generates tags information for Lotus Notes it will be able display, browser and search this tags information.
PS: If decide give it a test drive and find it does not support Notes correctly, feel free to post a bug report to the Zeus forum.
(source: zeusedit.com)