How to make PyCharm work with the Go plugin? - plugins

I am using PyCharm 3.1.1 and I have installed the Go plugin for IntelliJ Idea. I did export GOROOT=$(go env GOROOT) to prevent PyCharm from complaining about missing GOROOT environment variable.
Now I was able to create a sample project, but the run command complains:
Error running untitled1.go: No Go Sdk defined for this project
On other sites I found that I should do something like:
Go to the File -> Project Structure and configure Go SDK by clicking + button and
selecting /usr/lib/go/ folder.
But I don't have File -> Project Structure menu item.
How to make PyCharm work with the Go plugin?

You can get most of the way there with External Tools. There is no way to replace the 'Run' button until the next version of the plug-in, per Issue #728.
To set up your external tools, go to PyCharm -> Preferences (command+,) -> Tools -> External Tools -> +
Fill in the form:
Hit OK. Use it from the menus:

Please use the latest release from Github releases https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases. It supports PyCharm 4.0.5+.

You can achieve it now with a Version 2016.1 or higher. I will give a complete guide, so the first steps would not be relevant for you. Also I write it using MacOS, so some names might be different. Go to
Preferences -> Plugins -> Browse Repositories -> Manage repositories and insert https://plugins.jetbrains.com/plugins/alpha/5047 which is the plugin behind this repo (maintained by IntelliJ). Install that plugin.
After plugin is installed, create a .go file. When you open it you will see a popup go project sdk is not defined. Click on it and select your /usr/local/go path.
A couple of helpful links:
go plugin documentation
how to set up go plugin

If you are an IntelliJ fan, you can edit and run Go using goland editor (Notice, this is not a Go plugin added to PyCharm but a different editor).
For installation on Ubontu:
sudo snap install goland --classic , or visit there website https://www.jetbrains.com/help/go/install-and-set-up-product.html

If you're running on OS X, you'll have to use the launchctl setenv command to set the GOROOT environment variable, so it's available system wide, which includes launching applications via the GUI
launchctl setenv GOROOT $(go env GOROOT)
To check it's set
launchctl getenv GOROOT
For the values to persist across reboots, you'll need to edit (or create) /etc/launchd.conf:
setenv GOROOT [path]
See this answer for more information of the format of this file. Note that you won't be able to call $(go env GOROOT) within launchd.conf

Related

Running Jason applications in Eclipse

When I want to run my .mas2j file in Eclipse, I always have to right click the file and then select "Run as Jason application". Is there a way to add a shortcut to do this?
Jason's "Run" button should be added to eclipse toolbar ("Step 14" of jason eclipse-plugin installation guide) and it is supposed to work. Anyway, you can save some time using shell, following instructions in jason's github page:
git clone https://github.com/jason-lang/jason.git
cd jason
gradle config
And run a project using a command like bellow:
jason examples/gold-miners-II/miners.mas2j
Another way, and actually my recommendation is moving to JaCaMo (which has Jason embedded). JaCaMo offers a gradle script for your projects. You can easily download JaCaMo from the repository and create a project from zero in one shot (first, go to your project root folder and then type):
curl -s -O http://jacamo.sourceforge.net/nps/np07.gradle
gradle -b np07.gradle --console=plain
After downloading JaCaMo, the script will ask you to type a name for your project, for instance, "test". So, go to "test" folder and type:
gradle run
The just created JaCaMo project should launch after this command. Besides good compiling performance, another advantage is that gradle will manage package dependencies.
This is usually the issue with uncategorized commands in Eclipse. I had the same issue with the Run JaCaMo Application option. In order to see all your plugin commands:
Go to Preferences -> General -> Keys. Click on Filters... and de-select Filter uncategorized commands then Ok.
Then you should be able to find the desired command in the Command list and add a preferred Binding.
Note: If Eclipse offers a command, it should be listed in the pop-up window that appears when hitting the Show a table of all available commands button of the Oomph toolbar. The table shows all the available commands, where you can find them, and all the defined shortcut keys.

Go language configuring

I need to do a work for my university and I choose to do it using the Go language. Yesterday I installed the .msi and setted the variables to:
GOPATH = C:\Users\Gustavo\goprojects (this is the folder that I want to place all my Go projects)
GOROOT = C:\Go\
PATH = C:\Users\Gustavo\goprojects\bin
After this, I installed the GoClipse plugin on my Eclipse and created a new project into the goprojects folder. Then, I created another folder in the src folder, and a .go file into this folder.
Now is my problem. When I started to write some code, everytime that I try to auto complete my code, Eclipse shows me an error and I was searching on google and found that I need to install one project from GitHub called gocode.
So I want to know where do I need to install it and how can I import it to my project.
P.S.: I am using Windows 8.1, I have git installed and the link of gocode project is: https://github.com/nsf/gocode
I solved my problem doing this steps:
Downloaded the gocode to the src folder. (The path: C:\Users\Gustavo\goprojects\src\github.com\nsf\gocode)
In the Eclipse, do this: Window -> Preferences.
Open Go option in the left menu then click Tools.
In the gocode path I set C:\Users\Gustavo\goprojects\bin\gocode.exe
And thats it! It works now.

How to cross-reference in GoClipse?

I have installed Eclipse (Mars) with Goclipse plugin on my Macbook yesterday. They initially work perfectly. But today I found I cannot do cross reference (that means cmd+click on a keyword cannot jump the definition). And the console shows:
Running: oracle -pos=/Users/myname/coreos/naas/server/src/mycompany.com/hh/naas-server/main.go:#389,#389
-format=json describe mycompany.com/hh/naas-server
FAILED: Could not start process:
Reason: Cannot run program "oracle": error=2, No such file or directory
As Voker suggested, GoClipse is just an Eclipse plugin. For it to compile, build, run your Go packages and applications, it requires the Go tools.
You can set the standard Go tool on the settings page:
Window -> Preferences -> Go
You can set some non-standard, differnet Go tools on the page:
Window -> Preferences -> Go -> Tools
This is where you can tell GoClipse where your oracle and gocode programs are located.
You have to download oracle yourself, but the settings page above provides you a button:
Download Go oracle (run: `go get -u golang.org/x/tools/cmd/oracle`)
So you have to go get it either manually or by the above-mentioned button. Install it using go install, so you will have the executable binary oracle. You have to set the full path of oracle on the Go -> Tools settings page, and it will work.
While we're at it: I also recommend you to install gocode (https://github.com/nsf/gocode) which will provide you the auto-complete feature (CTRL+SPACE or CMD+SPACE for a list of exported identifiers in package, list of methods etc.). Just also use the button on the same settings page:
Download gocode (run: `go get -u github.com/nsf/gocode`)
Install it and set the full path of the resulted executable binary gocode.

Need help configuring external diff with Eclipse

I am trying to set up my dev environment and I got SVN running with Eclipse on my mac (with Subclipse). However, when I click on a file I've changed and go to Compare With -> Latest From Repository, I noticed I was getting (what I think is) a sub-par diff tool.
So, I went to Preferences -> Team -> SVN -> Diff/Merge to configure an external diff tool (called "DiffMerge"). However, no matter what I put in the "External" field and the "Parameters" field, I cannot get the DiffMerge tool to work.
For example, I tried "/Applications/DiffMerge" in the External field (I put the executable directly in the Applications folder for now) and made the parameters: "${base}" "${yours}". However, when I return to my modified file and hit compare with -> Lates from repository, I still get the same built-in diff tool.
Any ideas or resources you could point me to would be greatly appreciated (I've been hunting around stackoverflow myself for answers but to no avail).
I started using Mac recently and I faced the same problem. As suggested by Chris I got it working for DeltaWalker.
Steps :
1. Install BeyondCVS plugin with svn. This will ensure that BeyondCompare is added under Eclipse -> Preferences -> External Tools.
Open Eclipse -> Preferences -> External Tools -> Beyond Compare.
In the "Path To Beyond Compare" manually enter the installation folder for Delta Walker which on my machine is "/Applications/DeltaWalker.app/Contents/MacOS/DeltaWalker"
I beleive DiffMerge is a .app is it not? In that case i think you would have to give the path to actual binary which should be something like: /Applications/DiffMerge.app/Contents/MacOS/DiffMerge. If you right click on the app in Finder an do "Show Contents" it shoudl allow you to browse it like the regular directory it is... Or you can navigate into it from the command line and find the bianary you need.
Just out of curiosity whats worng with Subclipse's built in tool? IMO its the best Diff/Merge on OSX - but maybe im missing something.
I am using the BeyondCVS plugin with SVN. Despite its name, it works both Subclipse and Subversive. And it will launch comparison apps other than BeyondCompare, (I've used WinMerge), so it may work with DiffMerge on the Mac.
I was able to get this to work after some experimentation. You need to trick Subclipse into finding the right file to open.
Open finder and navigate to DiffMerge.app
Right click > "Show Package Contents"
Navigate to Contents/MacOS/DiffMerge
Right click > "Make Alias"
Drag and Drop the "DiffMerge alias" file to your home folder
In Eclipse, select the alias file as the external diff program
Set the parameters to "-m -t1=Theirs -t2=Merged -t3=Mine -r=${merged} ${theirs} ${base} ${yours}"

How to use eclox, the doxygen plugin for Eclipse

How do I get eclox working in Eclipse 3.5?
I'm using Ubuntu 9.04. I installed Doxygen from ubuntu repositories(version 1.5.8). Then I installed eclox on eclipse through the update site.
Despite this, I don't get any option to in any menu to initiate it.
Also the eclox site doesn't seem to have any "getting started" guide.
Please help.
BTW there is a manual inside org.gna.eclox_0.8.0.jar, wierd they did not post this on the project site!!!
Here is the content
Eclox, a Doxygen frontend plugin for Eclipse.
<http://gna.org/projects/eclox>
INSTALLATION
There are two options to install the plugin: using the update site or
using the packaged feature.
The update site is the more convenient way to install eclox. It is
located at https://anb0s.github.io/eclox. See eclipse's user
guilde for additionnal details.
When using the packaged feature, you must extract the archive content into
your eclipse's root location. For additionnal details, please refer to
eclipse's user guide.
CONFIGURATION
Once the plugin installed, you must ensure that the default PATH environment
variable makes the doxygen binary reachable for the plugin. If not, you can
update PATH to include to directory containing the Doxygen binary, or you can
tell Eclox where that binary is located on your system (which is in my opinion
the better solution). To do this, open eclipse's preference edition dialog
window and go into the new "Doxygen" section.
USAGE
You can create new Doxygen projects (also called doxyfiles) using the
creation wizard. Go to "File->New->Other->Other->Doxygen Configuration". Press
next and set both file location and name. Then a empty doxyfile will be
created at the specified location, the wizard automatically adds the
".Doxyfile" extension.
You should now see a file with a blue #-sign icon. This is your new
doxyfile. Double-clicking on it will open the editor. You can now browse and
edit the settings.
Once your have properly set all doxyfile fields, you can launch a
documentation build using the toolbar icon showing a blue #-sign. In
the case the button is not visible in the toolbar, your current perspective
needs to get configured. Go to "Window->Customize perspective->Commands" and
in "Available command groups" check "Doxygen". Additionnaly, you can browse
the laetest builds by clicking the down arrow right to the toolbar button.
When the documentation build starts, a new view showing the build log opens.
In its toolbar, a button named "Stop" allows you to halt the current build
process. The current build also appears in the Eclipse job progress view and
you can control the job from there.
The build toolbar action determine the next doxyfile to build depending on
the current active workbench part (editor or view) and the current selection
in that part. For example, if the active part is a doxyfile editor, the next
doxyfile to build will be the one being edited. If the active part is the
resource explorer and the current selection is a doxyfile, that doxyfile will
be next to get build. In the case the active part selection doesn't correspond
to a doxyfile, the last built doxyfile will be rebuiled. And if the build
history is empty, you will be asked for the doxyfile to build.
HTH Anybody
Never mind, worked it out my self.
First you need to create a DoxyFile (which is the configuration file) by giving the source path and the output path.
Then only you can generate the documentation by right clicking the project and selecting the "Generate Documentation".
Thanks anyway!
I just faced a problem setting the Doxygen binary path in eclox 0.8.0 settings in Eclipse on Mac OS X 10.7.
There is no way to configure the path via Eclipse-preferences->Doxygen.
The solution is to edit the preferences file manually
add a (fake) location, let's say /Applications, using the wizard mentioned above.
close Eclipse
edit this file:
$WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.gna.eclox.core.prefs:
Replace the value for doxygen.default (currently eclox.core.doxygen.CustomDoxygen /Applications\n) with eclox.core.doxygen.CustomDoxygen /Applications/Doxygen.app/Contents/Resources/doxygen\n.
restart Eclipse
For MacOS user there is a very easy way to get around via the issue of the Doxygen version selection. The link that provides details is here:https://github.com/theolind/mahm3lib/wiki/Integrating-Doxygen-with-Eclipse
After installing the Eclox plugging:
1)"go to "Eclipse --> Preferences --> Oxygen"
2)"Press Shift+CMD+G then Add: "/Applications/Doxygen.app/Contents/Resources/doxygen"
3) Doxygen's version should be displayed
this might help you or any windows user trying to install eclox:
Tutorial for Installing eclox — Document Transcript
Step 1: go to eclox website (http://home.gna.org/eclox/) and to copy the update link address.Step
step 2: Insert the link into the update manager in eclipse and press OK.
Step 3: Select the Eclox item and to complete the installation.
Step 4: When the installation has done, you should select a project that you want to generate thedoxygen documents. Then, create a doxygen project for it.
Step 5: config the options. Note: You have to provide the “Input directories” correctly and to select the “Scan recursively”item. Finally, save the configuration file.
Step 6: find out the “#” and to choice “Choose Doxyfile...”.
Step 7: select a doxyfile.Step 8: wait for few seconds and the doucments will be generated.
its from this link: http://www.slideshare.net/pickerweng/tutorial-for-installing-eclox
Like claus I had to dig into the preferences file maually, because eclox 0.8.0 would just not take a good path from Eclipse Preferences file chooser.
So, edit this file: $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.gna.eclox.core.prefs and alter the given path (in my case I had to change from
doxygen.default=eclox.core.doxygen.CustomDoxygen C\:\\Programm Files\\doxygen\\bin
to this
doxygen.default=eclox.core.doxygen.CustomDoxygen C\:\\Programme\\doxygen\\bin
Hope this helps.
I find a webpage https://github.com/theolind/mahm3lib/wiki/Integrating-Doxygen-with-Eclipse where you can find more details. Especially, for Mac users, you need to Press Shift+CMD+G then Add: "/Applications/Doxygen.app/Contents/Resources/doxygen" when you configure the doxygen in eclipse before compiling .doxygfile by using Eclox.
Alternative from eclipse is to use Javadoc:
From menu (...Search Project Run...)
Project > Generate Javadoc
You should be in Java project and add comments with tags.
!!!