mtoader/google-go-lang-idea-plugin — pull request #303 by dlsniper (2013-12-05 20:24:11+00:00)
Title: [WIP] Support for non-IDEA IDEs

[DON'T MERGE THIS YET] - Help is welcomed!

There's a couple of problems with this going to a full fledged support for them:
- [x] enables ``` run ``` command for the main project as well as tests for non-IDEA IDEs.
- [ ] we need to add support for Go SDK for them or at least improve the inclusion of files that are imported using the ``` external files ``` support. For now, those files are correctly parsed but the auto-completion doesn't work for them
- [ ] there's no settings available in the ``` Settings ``` window of the IDE
- [ ] the IDE throws the following exception when going to ``` Run ``` -> ``` Edit Configurations... ```:

```
com/intellij/execution/ui/ConfigurationModuleSelector: com/intellij/execution/ui/ConfigurationModuleSelector
java.lang.NoClassDefFoundError: com/intellij/execution/ui/ConfigurationModuleSelector
at ro.redeul.google.go.runner.ui.GoTestConfigurationEditorForm.createEditor(GoTestConfigurationEditorForm.java:99)
at com.intellij.openapi.options.SettingsEditor.getComponent(SettingsEditor.java:101)
at com.intellij.execution.impl.ConfigurationSettingsEditor$ConfigToSettingsWrapper.createEditor(ConfigurationSettingsEditor.java:257)
at com.intellij.openapi.options.SettingsEditor.getComponent(SettingsEditor.java:101)
at com.intellij.openapi.options.GroupSettingsBuilder.doCreateComponent(GroupSettingsBuilder.java:54)
at com.intellij.openapi.options.GroupSettingsBuilder.createCompoundEditor(GroupSettingsBuilder.java:46)
at com.intellij.openapi.options.CompositeSettingsEditor.createEditor(CompositeSettingsEditor.java:100)
at com.intellij.openapi.options.SettingsEditor.getComponent(SettingsEditor.java:101)
at com.intellij.execution.impl.ConfigurationSettingsEditorWrapper.createEditor(ConfigurationSettingsEditorWrapper.java:93)
at com.intellij.openapi.options.SettingsEditor.getComponent(SettingsEditor.java:101)
at com.intellij.openapi.options.SettingsEditorConfigurable.(SettingsEditorConfigurable.java:37)
at com.intellij.execution.impl.SingleConfigurationConfigurable.(SingleConfigurationConfigurable.java:63)
at com.intellij.execution.impl.SingleConfigurationConfigurable.editSettings(SingleConfigurationConfigurable.java:97)
at com.intellij.execution.impl.RunConfigurable.a(RunConfigurable.java:378)
at com.intellij.execution.impl.RunConfigurable.access$500(RunConfigurable.java:76)
at com.intellij.execution.impl.RunConfigurable$4.valueChanged(RunConfigurable.java:267)
at javax.swing.JTree.fireValueChanged(JTree.java:2919)
at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3378)
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:634)
at com.intellij.ui.treeStructure.Tree$MySelectionModel.fireValueChanged(Tree.java:651)
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1092)
... 142 more
```

If we do manage to add proper SDK support for non-IDEA then we can remove the work I've did below.

Thanks.

Note: I'm only testing this with PHPStorm 7.1 EAP.