elm IDE (editor and elm-reactor browser) - elm

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.

Related

Getting set up with intelliJ IDEA

Really basic question here but this has always stopped me from using any JetBrains product, but here I am trying once again. I also have the same issues with CLion but that will be for another time and hopefully I can figure it out based on some feedback from this post.
I need to set up my environment in IntelliJ. Nothing special. No build tools. Currently I just run my school projects using
javac Main.java
java Main
This has gotten me so far but I really want to use IntelliJ tools to their full capacity.
I want to be able to set break points and step in and out of my code in their debugger and all the other nice tools that come with running my code through IntelliJ
Every get started tutorial that I have watched on YouTube or from JetBrains themselves already has a basic build configuration set up to run your basic "Hello World" application and that is what I think I need. Just compile my java files into classes and run/debug them.
This is what the run configuration icon in the IDE should look like
And this is what mine currently looks like
I have set many different JDKs to go along with my projects but none of them seem to get the tools I need set up in the IDE. I have even let IntelliJ download one for me and set it up itself to see if maybe I downloaded and installed it wrong and IntelliJ maybe wasn't recognizing it.
This picture below is showing the project structure for an application that I let IntelliJ download a JDK for and set it up itself
So if someone could help me that would be fantastic. Links to videos, blogs are welcome even though I know that isn't the convention on this forum but I think that would be sufficient for my situation. Thanks in advance!
---Update---
I have found that if I create a project in IntelliJ that I get all the default configurations that I need. The problem is when I need to get a project from VCS that I am not getting any of the configurations that I need to run/debug my program in IntelliJ.
The easiest solution here would be to click the green play button next to your main method, on the left where line numbers are displayed.
Intellij will configure a default java run configuration for you. It will be displayed in the menu for later use, like in the screenshot you posted, after your first run.
You can also create one using the to menu: Run > Edit run configuration to add some more options like arguments, environment variables (that only apply for the run config), etc.
A good starting point would be the Intellij help page on that topic. This help pages are always a good start and you find comprehensible instructions there on every topic.
Another good resource is the Intellij by JetBrains YouTube channel. This video about debugging shows both ways I described above. They have lots of quick tutorials about lot of features, like code generation or build tools. Check out the channel's playlists for specific topics.
Update
The problem with the already created project is that the default/ folder is not marked as source folder. You can do that by File > 'Project Structure...' and set the default/ folder as Sources:
The cause for intellij not recognizing this is because you didn't use a folder structure like the one of maven.
For source code:
src/main/java
src/main/resources
and for tests:
src/test/java
src/test/resources
If you set it up that way IntelliJ everything works as expected. I created a pull request to your repo. If you check out the branch, IntelliJ will setup everything correctly automatically.

How to autocomplete/import Flutter classes in IntelliJ?

In IntelliJ, I have to manually import Flutter packages at the top of the file in order for auto-complete to work elsewhere in the file.
I was rather hoping I could start typing something (in a method) and IntelliJ would search my pubspec.yaml and locally within my project and suggest classes I might want. If I selected something that wasn't already imported, it should import it for me.
This basic functionality is available in many other languages and IDEs, so I'm wondering if I've got something misconfigured. I'm using IntelliJ 2018.2 with the latest Flutter and Dart plugins installed.
This is a known issue.
For performance reasons the DartAnalyzer was built to only load libraries that were imported anywhere in the projects code already.
The overall performance of DartAnalyzer was improved a lot since then and it would now allow to provide better suggestions, but it seems there weren't enough resources available yet to get it implemented.
Upvote and follow https://github.com/dart-lang/sdk/issues/25820

Some doubts about WordPress theme\plugin development IDE, how to obtain the IDE code assistance?

I am pretty new in WordPress theme\plugin development (I came from Java and C#) and I have the following doubt about the IDE and how to correctly handle the WordPress development process.
My main doubt is this one: when I develop in Java I use Eclipse as IDE and using Eclipse I can navigate through classes and methods selecting it with mouse pointer and clicking CTRL on the keyboard (I select a method, I press CTRL and it open me this method implementation).
Also using Eclipse\Visual Studio if I put the mouse pointer on a method call in my code I can obtain some informations about it, as the returned type or the input parameters list.
Now I am using Aptana Studio 3 to develop a WordPress theme. I imported the entire WP installation directory as a project and I am working on my custom theme but I have not all the previous feature.
What can I do to have these feature when I develop a WordPress theme or a plugin?
Tnx
You might try Jetbrains' PHPStorm. Version 8 which is only available via their early access program has Wordpress support. I have not used Aptana very much but PHPStorm has been very helpful. It's got a hefty price tag but there is a 30 day trial.
Helpful link
PHPStorm Wordpress documentation

Need IDE suggestions for Chrome Extension project

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

Setting up an Erlang development environment

I'm interested in looking at Erlang and want to follow the path of least resistance in getting up and running.
At present, I'm planning on installing Erlang R12B-3 and Erlide (Eclipse plugin). This is largely a Google-result-based decision. Initially this will be on a Windows XP system, though I am likely to reproduce the environment on Ubuntu shortly after.
Is there a significantly better choice? Even if it is tied to one platform.
Please share your experiences.
I highly recommend the Erlang mode shipped with the standard Erlang distribution. I've put together a "works out of the box" Emacs configuration which includes:
Syntax highlighting & context-sensitive indentation
Dynamic compilation with on-the-fly error highlighting
Integrated Erlang shell
And more....
You can browse my GitHub repo here:
http://github.com/kevsmith/hl-emacs
I've only done a small bit of coding in Erlang but I found the most useful method was just to write the code in a text editor and have a terminal open ready to build my code as I need to (this was in Linux, but a similar idea would work in Windows, I'm sure).
Your question didn't mention it, but if you're looking for a good book on Erlang, try this one by O'Reilly.
You could also try NetBeans there's a very nice Erlang module available: ErlyBird
Install Erlang: sudo aptitude install erlang
Install a recent JDK: sudo aptitute install sun-java6-jdk
Download and install (the smallest) NetBeans edition (e.g. the PHP one): www.netbeans.org/downloads
download the erlang module ErlyBird: sourceforge.net/projects/erlybird
manually install the modules via NetBeans
ErlyBird features:
syntax checking
syntax highlighting
auto-completion
pretty formatter
occurrences mark
brace matching
indentation
code folding
function navigator
go to declaration
project management
Erlang shell console
I'm using Erlang in a few production systems personally as well at the office. For client side testing, documentation and development I use a MacBook Pro as the OS/platform and TextMate with the Erlang bundle as an editor.
For sever side development and deployment we use RHEL 4.x/5.x in production and for editing I use VIM. Personally, I've got 4 machines (slices on slicehost.com) running Debian using Erlang for a few websites and jobs.
I try to go with the smallest 'engineering environment possible', usually the one with the fewest dependencies from apt or yum.
To add to the Emacs suggestions, I would also recommend that you look at the advantages of distel when running the Emacs erlang-mode.
I've seen answers suggesting TextMate here, so I wanted to add another good Mac OSX tool:
ErlangXCode plugin to XCode.
I've been using this since I started with Erlang and really do like it.
The download link on his blog is broken, here's the real download:
http://github.com/JonGretar/erlangxcode/tree/master
You could also try a virtual server on demand service like this one from CohesiveFT
Select the components you want (e.g. erlangrb12 + yaws + MySQL + erlyweb) and it will build a vm image for you to download or to put onto ec2.
Rolling you own locally is quite straightforward too if you follow the instructions in the pragmatic programmers book Programming Erlang
Just a quick note:
The Erlang "compiling" process described in Ciaran's post (described for Ubuntu 6.10 btw) can be easily skipped using apt command in any Debian based distro:
apt-get install erlang
Do not forget to install these packages if you see it fit:
erlang-doc-html - Erlang HTML document pages
erlang-examples - Some application examples
erlang-manpages - Erlang MAN pages
erlang-mode - editing mode for Emacs
Good Luck!
I like Justin's suggestion, but I'll add to it: this solution is great for learning a language. If you don't rely on something like code-completion, then it forces you to learn the language better. (If you are working with something with a huge API, like Java or Cocoa, then you'll want the code completion, however!)
It's also language-agnostic, and in the case of an interpreted language, particularly one that has an interactive interpreter, you'll probably spend just as much time in the shell/interpreter typing in commands. Even in a large-ish python project, I still work in an editor and 4 or 5 terminal windows.
So, the trick is more about getting an editor which works for you. I'm not about to suggest one, as that's heading towards evangelism!
I just use Scite. Type something and press f5 to see the results.
Just wrote a guide on this on my blog, heres the abridged version:
Part 1: Download what needs to be downloaded.
Download and install the Erlang run-time.
Download and install TextPad.
Download a .syn file for Erlang and place it in the system folder of TextPad. For me, this folder was C:\Program Files\TextPad 5\system. I'm not quite sure who did this syn file (the site is in another language), but they did a good enough job.
Part 2: Set up syntax highlighting.
Open up TextPad. Ensure no files are opened. Go to the 'Configure' menu, and select 'Preferences'. In the preferences window, click 'Document Classes'. There should be a list of currently recognized languages. Click the 'New' button (it is right under the list of languages), and type 'Erlang'. Click apply.
Click the '+' button next to 'Document Classes'. This should expand the list, and Erlang should now be on it. Click Erlang. You should see a list of file extensions associated with Erlang, click 'New', and type '*.erl'.
Now click the '+' button next to 'Erlang' on the left. This should expand a list of several more menus. Click on 'Syntax'. Click the drop down menu and select erlang.syn. If erlang.syn is not there, then the .syn file was not properly placed.
Feel free to edit some other syntax options to customize TextPad to your liking.
Part 3: Compiling from TextPad.
Note: as of 12/05/08 there are severe problems with compiling in textpad. The Erlang shell somehow ignores new compilation when it is done in text pad. This is only useful for checking for errors, when you want to actually run the code, compile it in the Erlang Shell.
In the preferences menu again, click 'tools' on the left.
Click the 'Add' button and select 'Program...'. Navigate to the erl5.6.5\erts-5.6.5\bin\ folder and select erlc.exe. Select and single click the new entry in the list to rename it. Click 'Apply'.
Now click the '+' button next to Tools on the left. Select erlc, or whatever you have named the new tool (I named mine 'Compile Erlang'). The parameters field needs to read '$File', and the initial folder field should read '$FileDir'.
I have had good success with Erlide.
If you use Vim I recommend you Vimerl (http://github.com/jimenezrick/vimerl):
Features
Syntax highlighting
Code indenting
Code folding
Code omni completion
Syntax checking with quickfix support
Code skeletons for the OTP behaviours
Uses configuration from Rebar
Pathogen compatible (http://github.com/tpope/vim-pathogen)
From what i've tried (and are still up to do), a good addition to an erlang dev. environment would be a virtual machine running ubuntu/yaws/erlang. Perhaps Erlyweb (erlang/yaws framework) would be nice checking out too.
Ciaran's posts (this would be the first of his "series") about his erlang install is nice, as he details the steps in setting up the server (and other stuff like xmpp with jabberlang).
Since you're switching to Ubuntu eventually anyways, I highly recommend using erlang-mode for emacs (which comes bundled with the Erlang distribution). It is officially what all the core developers use and what many other developers use because of the many features it offers you.
Installing the Erlang distribution itself should be simple :)