Giter Club home page Giter Club logo

angularjs-plugin's Introduction

AngularJS Support for the Intellij Platform (WebStorm, PhpStorm, Rubymine, Intellij, etc)

Installing the AngularJS plugin for Webstorm

  • Navigate to File->Settings->Plugins
  • Click "Browse Repositories"
  • Select "AngularJS"
  • Double-click (or right-click) and, when prompted, choose "Yes"
  • Restart WebStorm

angularjs-plugin's People

Contributors

aliaspooryorik avatar johnlindquist avatar pkozlowski-opensource avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angularjs-plugin's Issues

scope variable parsing and completion

This is perhaps more difficult than the ng-controller code completion. But I believe that Intellij already parses HTML and has an idea about where we are editing in the code. By hooking into this parsed model of the current HTML we are editing, it should be able to hook into the nearest controller ( ofcourse there will be edge cases! ). If we get hold of the controller definition, it should be a simple regex to get hold of its $scope. Then providing code completion based on this scope should not be such a far stretch. I understand this is a really difficult thing to implement, but would be awesome if we could.

img tag with ng-src

Hi man, amazing job!
When i'm putting an img tag with ng-src, webstorm asks for a missing 'src' attribute.
I would be great to add the ng-src attribute as the missing attribute.

Thanks!
P.S - are there instructions about how to contribute to this plugin? i never done a webstorm plugin before..

Completely breaks intentions in IntelliJ 11.1.5

When installed in IntelliJ IDEA 11.1.5, this plugin completely stops intentions from working (ie: the lightbulb dropdown).

The log reveals this error:

2013-07-31 15:54:15,142 [ 257682]  ERROR - currency.PrioritizedFutureTask - IntelliJ IDEA 11.1.5  Build #IU-117.1056 
2013-07-31 15:54:15,142 [ 257682]  ERROR - currency.PrioritizedFutureTask - JDK: 1.6.0_51 
2013-07-31 15:54:15,143 [ 257683]  ERROR - currency.PrioritizedFutureTask - VM: Java HotSpot(TM) 64-Bit Server VM 
2013-07-31 15:54:15,143 [ 257683]  ERROR - currency.PrioritizedFutureTask - Vendor: Apple Inc. 
2013-07-31 15:54:15,143 [ 257683]  ERROR - currency.PrioritizedFutureTask - OS: Mac OS X 
2013-07-31 15:54:15,143 [ 257683]  ERROR - currency.PrioritizedFutureTask - Last Action: ShowLog 
2013-07-31 15:54:15,143 [ 257683]  ERROR - currency.PrioritizedFutureTask - Original exception:  
java.lang.NoClassDefFoundError: com/intellij/codeInsight/intention/impl/QuickEditAction
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
    at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:125)
    at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:121)
    at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:97)
    at com.intellij.ide.plugins.cl.PluginClassLoader.d(PluginClassLoader.java:102)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:249)
    at com.intellij.openapi.extensions.AbstractExtensionPointBean.findClass(AbstractExtensionPointBean.java:38)
    at com.intellij.openapi.extensions.AbstractExtensionPointBean.instantiate(AbstractExtensionPointBean.java:58)
    at com.intellij.openapi.extensions.CustomLoadingExtensionPointBean.instantiateExtension(CustomLoadingExtensionPointBean.java:45)
    at com.intellij.codeInsight.intention.IntentionActionBean.instantiate(IntentionActionBean.java:75)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.getDelegate(IntentionActionWrapper.java:75)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.getFamilyName(IntentionActionWrapper.java:48)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.getFullFamilyName(IntentionActionWrapper.java:65)
    at com.intellij.codeInsight.intention.impl.config.IntentionManagerSettings.b(IntentionManagerSettings.java:127)
    at com.intellij.codeInsight.intention.impl.config.IntentionManagerSettings.isEnabled(IntentionManagerSettings.java:140)
    at com.intellij.codeInsight.intention.impl.config.IntentionManagerImpl.getAvailableIntentionActions(IntentionManagerImpl.java:215)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.getActionsToShow(ShowIntentionsPass.java:202)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.b(ShowIntentionsPass.java:154)
    at com.intellij.codeInsight.daemon.impl.ShowIntentionsPass.doCollectInformation(ShowIntentionsPass.java:128)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:350)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1053)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:342)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:218)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:340)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:316)
    at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:134)
    at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:131)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
    at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
    at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: com.intellij.codeInsight.intention.impl.QuickEditAction PluginClassLoader[AngularJS, 0.1.8]
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:77)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 42 more

Having an ng-view outside of ng-app should show a warning

This is something that a friend of mine who is new to Angular got tripped up on for some time. I think it would be pretty easy to prevent this.

<html>
  <head ng-app>
  </head>
  <body ng-view>
  </body>
</html>

The ng-view could have a yellow background to indicate that the view is not inside the app.

Since you can bootstrap your app from JavaScript, it shouldn't show a warning on the following:

<html>
  <head>
  </head>
  <body ng-view>
  </body>
</html>

Because in that case, you don't have an ngApp on the page.

This might also go well with a warning when using two ngApp directives on the same page, since you cannot bootstrap Angular from the html if you have two ngApp directives on the same page (however, I don't know if this is something that is planned to change).

Just thought I would share. Thanks for the plugin!

{{ }} autocomplete ... should be without spaces!

I dont want the useless blankes.

a) can i disable this feature in phpStorm??
b) or please change in "AngularBracesInterpolationTypedHandler" the line ...
interpolation = "{ }"

The blankes are useless and more difficult to read in complex situations ...

After installing version 0.1.8 keyboard input ceased to function

This happens in Windows and Linux.
After deactivating plugin keyboard works proper, reactivating AngularJS, only backspace (deletes characters) and ctrl/z (undo the delete) works, as well as ctrl/c and ctrl/v.
I can't possibly be the only one who has this problem. It took me a day and a half to find out why my keyboard wouldn't work any more. Only after read an article from 2003 where a guy had similar problems and found out that it was related to a plugin he installed, I had a wow.

Anyway thanks for the great job with the plugin and I am sure I will be able to use it soon.

Cheers
Guenther

Can't open terminal session:class with name "org.angularjs.GotoAngularAction" not found [Plugin: AngularJS]

I installed the plugin on Intellij 13 Ultimate.

Can't open terminal session:class with name "org.angularjs.GotoAngularAction" not found [Plugin: AngularJS]: class with name "org.angularjs.GotoAngularAction" not found [Plugin: AngularJS]
com.intellij.diagnostic.PluginException: class with name "org.angularjs.GotoAngularAction" not found [Plugin: AngularJS]
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:262)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:232)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:225)
at org.jetbrains.plugins.terminal.JBTerminalPanel.registerKeymapActions(JBTerminalPanel.java:87)
at org.jetbrains.plugins.terminal.JBTerminalPanel.(JBTerminalPanel.java:74)
at org.jetbrains.plugins.terminal.JBTerminalWidget.createTerminalPanel(JBTerminalWidget.java:31)
at org.jetbrains.plugins.terminal.JBTerminalWidget.createTerminalPanel(JBTerminalWidget.java:17)
at com.jediterm.terminal.ui.JediTermWidget.(JediTermWidget.java:55)
at com.jediterm.terminal.ui.JediTermWidget.(JediTermWidget.java:40)
at org.jetbrains.plugins.terminal.JBTerminalWidget.(JBTerminalWidget.java:20)
at org.jetbrains.plugins.terminal.JBTabbedTerminalWidget.createInnerTerminalWidget(JBTabbedTerminalWidget.java:86)
at com.jediterm.terminal.ui.TabbedTerminalWidget.createTerminalSession(TabbedTerminalWidget.java:58)
at org.jetbrains.plugins.terminal.AbstractTerminalRunner.openSession(AbstractTerminalRunner.java:142)
at org.jetbrains.plugins.terminal.AbstractTerminalRunner.openSession(AbstractTerminalRunner.java:177)
at org.jetbrains.plugins.terminal.AbstractTerminalRunner.createTerminalWidget(AbstractTerminalRunner.java:96)
at org.jetbrains.plugins.terminal.TerminalView.createTerminalInContentPanel(TerminalView.java:114)
at org.jetbrains.plugins.terminal.TerminalView.initTerminal(TerminalView.java:62)
at org.jetbrains.plugins.terminal.TerminalToolWindowFactory.createToolWindowContent(TerminalToolWindowFactory.java:17)
at com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(ToolWindowImpl.java:449)
at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$11.run(ToolWindowManagerImpl.java:528)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:346)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:696)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.angularjs.GotoAngularAction PluginClassLoader[AngularJS, 0.1.9]
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:68)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:255)
... 37 more

Optional brace types in settings

It would be helpful for those using languages that already use {{ }} for templates (e.g. Django / Handlebars) to provide the ability to use custom braces, e.g. [[ ]].

I've never worked on a plugin for JetBrains before, but here is my attempt at providing such a feature, as an example.

Thanks for a great plugin!

required plugin "JavaScript" is not available

hey guys,

I'm a pycharm noob, so pls excuse for dull question. plugin doesn't load on my ide, saying "required plugin javascript is not available", then I browse the repos to hunt the missing plugin but can't find a plugin with that name. am I missing anything?

cheerio

Update the ReadME to show how to use

I have downloaded the plugin. Now how do I get it to work?

I have added angular.js to my libraries for the module, but I am not seeing anything working?

Is there something in particular I need to do to get it working once I download it?

Plugin support for Intellij IDEA 14

Please update AngularJS compatibility with the new Intellij's version

Plugin Error
         Following plugins are incompatible with current IDE build: AngularJS

Intellij build #IU-139.1

Replicate Batarang Functionality

Since we cannot use the Chrome Dev Tools alongside the IntelliJ Javascript debugger, I would love to see this plugin replicate the functionality found in Batarang, especially the ability to see the contents of the various scopes at any given time.

Version 0.1.6 stopped working in Jade

I use Webstorm 6.0.2. Plugin version 0.1.5 worked nicely even with Jade templates. With version 0.1.6, Jade support seems broken. It still works in HTML.

This is 0.1.6 in HTML
HTML working

This is 0.1.6 in Jade
Jade broken

This is 0.1.5 in Jade
Jade OK

plugin does not work with xhtml file ending

I created a new HTML file today with PhpStorm and choose XHTML, PhpStorm automatically gave it a .xhtml file ending. When I added Angular JS by typing
script:src, expanding with tab and setting the URL for angular.js it did not become yellow and I was not able to download and register AngularJS in PhpStorm.

When I renamed the file to .html, it immediately worked and I could use the quick fix to download AngularJS and now I can use the ng-* namespace.

I guess thats probably a bug in the plugin?

Stack Overflow in latest EAP build

Is this plugin still active or is jetbrains one used?

null
java.lang.StackOverflowError
at com.intellij.patterns.PsiElementPattern$5.accepts(PsiElementPattern.java:143)
at com.intellij.patterns.PsiElementPattern$5.accepts(PsiElementPattern.java:139)
at com.intellij.patterns.ElementPatternCondition.accepts(ElementPatternCondition.java:39)
at com.intellij.patterns.ObjectPattern.accepts(ObjectPattern.java:53)
at com.intellij.psi.impl.source.resolve.reference.SimpleProviderBinding.addAcceptableReferenceProviders(SimpleProviderBinding.java:60)
at com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl.getPairsByElement(PsiReferenceRegistrarImpl.java:154)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:91)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:65)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:53)
at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.getReferences(XmlAttributeValueImpl.java:99)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.resolveReference(XmlSchemaTagsProcessor.java:137)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:128)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:104)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:117)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:108)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:117)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.a(XmlSchemaTagsProcessor.java:108)
at com.intellij.xml.impl.schema.XmlSchemaTagsProcessor.startProcessing(XmlSchemaTagsProcessor.java:48)
at com.intellij.xml.impl.schema.ComplexTypeDescriptor.a(ComplexTypeDescriptor.java:137)
at com.intellij.xml.impl.schema.ComplexTypeDescriptor.access$000(ComplexTypeDescriptor.java:45)
at com.intellij.xml.impl.schema.ComplexTypeDescriptor$1.compute(ComplexTypeDescriptor.java:53)
at com.intellij.xml.impl.schema.ComplexTypeDescriptor$1.compute(ComplexTypeDescriptor.java:50)
at com.intellij.openapi.util.FieldCache.get(FieldCache.java:49)
at com.intellij.xml.impl.schema.ComplexTypeDescriptor.getElements(ComplexTypeDescriptor.java:131)
at com.intellij.xml.impl.schema.XmlElementDescriptorImpl.b(XmlElementDescriptorImpl.java:247)
at com.intellij.xml.impl.schema.XmlElementDescriptorImpl.getElementDescriptor(XmlElementDescriptorImpl.java:409)
at com.intellij.xml.impl.schema.XmlElementDescriptorImpl.getElementDescriptor(XmlElementDescriptorImpl.java:454)
at com.intellij.xml.impl.schema.XmlNSDescriptorImpl.getElementDescriptor(XmlNSDescriptorImpl.java:639)
at com.intellij.psi.impl.source.xml.XmlTagImpl.computeElementDescriptor(XmlTagImpl.java:491)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:446)
at com.intellij.xml.impl.schema.XmlNSDescriptorImpl.getElementDescriptor(XmlNSDescriptorImpl.java:636)
at com.intellij.psi.impl.source.xml.XmlTagImpl.computeElementDescriptor(XmlTagImpl.java:491)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:446)
at com.intellij.xml.impl.schema.XmlNSDescriptorImpl.getElementDescriptor(XmlNSDescriptorImpl.java:636)
at com.intellij.psi.impl.source.xml.XmlTagImpl.computeElementDescriptor(XmlTagImpl.java:491)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:446)
at com.intellij.xml.impl.schema.XmlNSDescriptorImpl.getElementDescriptor(XmlNSDescriptorImpl.java:636)
at com.intellij.psi.impl.source.xml.XmlTagImpl.computeElementDescriptor(XmlTagImpl.java:491)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getDescriptor(XmlTagImpl.java:446)
at com.intellij.psi.impl.source.xml.XmlAttributeImpl.getDescriptor(XmlAttributeImpl.java:350)
at org.angularjs.codeInsight.AngularAttributesRegistry.isAngularAttribute(AngularAttributesRegistry.java:28)
at org.angularjs.editor.AngularJSInjector.getLanguagesToInject(AngularJSInjector.java:39)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:82)

Error on install

When loading the zip file in IntelliJ 11.1.3, it says that 'Required plugin "JavaScript " is not enabled'.
There is no official JavaScript plugin in the repos.
Where do I find it ?

ngro : define an otherwise condition : missing {

Hi

There is a missing { in the template text for the ngro live template:

Before :

$routeProvider.otherwise(redirectTo : '$url$'}); $END$

Correct :

$routeProvider.otherwise({redirectTo : '$url$'}); $END$

Thank for your plugin :)

Best Regards

Support for alternative delimiters.

AngularJS allows you to define alternative parameter delimiters, so you can say

[hello]

instead of

{{ hello }}

by simply redefining the delimiters:

var app =  angular.module("MyTutorialApp",[], function($interpolateProvider) {
    $interpolateProvider.startSymbol('[');
    $interpolateProvider.endSymbol(']');
});

This is handy when you're using Angular with Django, and it would be nice if the plugin could understand that the delimiters have changed.

Getting error in Intellij console.

I haven't been able to tell when this actually happens. The plug in seems to work correctly, but I will occassionally get this IDE Fatal Error in the IDE.

com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V: com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V
java.lang.NoSuchMethodError: com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V
at org.angularjs.GotoAngularAction.getAngularUsages(GotoAngularAction.java:190)
at org.angularjs.GotoAngularAction.gotoActionPerformed(GotoAngularAction.java:80)
at com.intellij.ide.actions.GotoActionBase.actionPerformed(GotoActionBase.java:60)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$3.performAction(IdeKeyEventDispatcher.java:564)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:611)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:463)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:206)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:494)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:348)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Feature testing

Installation

Download: https://dl.dropbox.com/u/132579/angularjs-plugin.jar
Install: File->Settings->Plugins. "Install plugin from disk", select the .jar you just downloaded

Features to test

Navigation

Press ctrl (or cmd) + 1 to open the Navigator

  • Report if performance is ok when opening
  • Report if it's finding everything you'd expect it to
  • Report if it's navigating to proper locations after selecting
  • Suggest if you'd like it to find anything else
  • Suggest UI improvements

Auto }} insertion

In HTML files, typing "{{" should automatically insert the closing "}}"

  • Report if you find any issues with it

Angular directives with ':' not allowed.

Call me weird, but I somehow decided to use directives like so:

<div ng:view></div>

The plugin does not handle the colon well it seems.

Thanks for the plugin though!

No PyCharm support?

This plugin is not showing up in the repository for me.
Seems strange since the other intelliJ products are supported, so just making sure.
I'm using PyCharm 3.1.1

Thanks!

Auto-complete for event handler methods

@johnlindquist since you are shopping for ideas, I think adding auto-completion for event-handlers (ng-click etc.) would be awesome. Basically I would like to see a list of methods defined on a scope by controllers in parent HTML elements.

Can't find AngularJS Plugin in IntelliJ 13.1

Hi,
I can't find the plugin in the "Browse Repositories" (Category: All).

If I download it manually and click "Install plugin from disk..." there pops up an error with:
"Plugin AngularJS is incompatible with current installation".

System: IntelliJ 13.1 IDEA whithout other plugins installed.

NoSuchMethodError

com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V: com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V
java.lang.NoSuchMethodError: com.intellij.find.impl.FindInProjectUtil.findUsages(Lcom/intellij/find/FindModel;Lcom/intellij/psi/PsiDirectory;Lcom/intellij/openapi/project/Project;ZLcom/intellij/util/Processor;Lcom/intellij/usages/FindUsagesProcessPresentation;)V
    at org.angularjs.GotoAngularAction.getAngularUsages(GotoAngularAction.java:190)
    at org.angularjs.GotoAngularAction.gotoActionPerformed(GotoAngularAction.java:80)
    at com.intellij.ide.actions.GotoActionBase.actionPerformed(GotoActionBase.java:60)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$3.performAction(IdeKeyEventDispatcher.java:564)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:611)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:463)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:206)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:494)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:348)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

File:

'use strict'

angular.module('browse', [])

    .controller('browseHomeCtrl', ['$scope', 'exchangesFctr', function($scope, exchangesFctr) {
        $scope.exchanges = exchangesFctr.get(); // used shortcut here on fctr
    }])

-data prefix

Great plugin,

This is not an issue, its a small request. Do you think you could add an option for ng- attributes to have data- prefix? Like data-ng-model, just for html5 validation.

Thanks

Relocate to AngularUI?

If you are interested, I recently created an 'IDE Tools' team to AngularUI for people to maintain the textmate and sublime plugins for AngularJS. If you're interested, I can add you to the team and do the same?

I realize you don't necessarily have a big reason to do this as it's essentially just a change of ownership and joining the org but if you think you'd be interested feel free to let me know!

Check-in live templates

@johnlindquist could you add live templates to the git repo? I think that plugin was built & published from local live templates, not checked in in the repo.

This would allow us to cover #6

Exception thrown when using Cmd+? to comment out line of HTML

I get the following exception in WebStorm 8 EAP every time I try to use the Cmd+? shortcut to comment out a line of HTML code.

It actually comments out the line, but then when I hit Cmd+? again, it does not uncomment the line.

After patch: doc:
'pageText.hello'
---PSI:
''
---chars:
''.
Language: AngularJS;
Host file: HtmlFile:header.html in '/projects/xactcredentials/GUI/xcr/global/html/header.html'
Context element (344,424): 'XmlText'; Ranges: [Shred (344,424): XmlText Inhost range: (355,369); PSI range: (0,0)]: After patch: doc:
'pageText.hello'
---PSI:
''
---chars:
''.
Language: AngularJS;
Host file: HtmlFile:header.html in '/projects/xactcredentials/GUI/xcr/global/html/header.html'
Context element (344,424): 'XmlText'; Ranges: [Shred (344,424): XmlText Inhost range: (355,369); PSI range: (0,0)]
java.lang.AssertionError: After patch: doc:
'pageText.hello'
---PSI:
''
---chars:
''.
Language: AngularJS;
Host file: HtmlFile:header.html in '/projects/xactcredentials/GUI/xcr/global/html/header.html'
Context element (344,424): 'XmlText'; Ranges: [Shred (344,424): XmlText Inhost range: (355,369); PSI range: (0,0)]
at com.intellij.psi.impl.source.tree.injected.MultiHostRegistrarImpl.doneInjecting(MultiHostRegistrarImpl.java:257)
at org.angularjs.editor.AngularJSInjector.getLanguagesToInject(AngularJSInjector.java:41)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:82)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:456)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:62)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.compute(InjectedPsiCachedValueProvider.java:51)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.compute(InjectedPsiCachedValueProvider.java:38)
at com.intellij.psi.impl.PsiParameterizedCachedValue.doCompute(PsiParameterizedCachedValue.java:53)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:199)
at com.intellij.psi.impl.PsiParameterizedCachedValue.getValue(PsiParameterizedCachedValue.java:43)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.a(InjectedLanguageUtil.java:219)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:120)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:96)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.hasInjections(InjectedLanguageUtil.java:418)
at com.intellij.xml.util.XmlEnumeratedValueReferenceProvider.getReferencesByElement(XmlEnumeratedValueReferenceProvider.java:51)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:122)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:65)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:53)
at com.intellij.psi.impl.source.xml.XmlTagImpl.getReferences(XmlTagImpl.java:175)
at com.intellij.psi.impl.SharedPsiElementImplUtil.a(SharedPsiElementImplUtil.java:67)
at com.intellij.psi.impl.SharedPsiElementImplUtil.findReferenceAt(SharedPsiElementImplUtil.java:49)
at com.intellij.psi.impl.SharedPsiElementImplUtil.findReferenceAt(SharedPsiElementImplUtil.java:63)
at com.intellij.psi.impl.source.tree.CompositePsiElement.findReferenceAt(CompositePsiElement.java:116)
at com.intellij.psi.SingleRootFileViewProvider.a(SingleRootFileViewProvider.java:423)
at com.intellij.psi.SingleRootFileViewProvider.findReferenceAt(SingleRootFileViewProvider.java:395)
at com.intellij.psi.impl.source.PsiFileImpl.findReferenceAt(PsiFileImpl.java:613)
at com.intellij.codeInsight.TargetElementUtilBase.findReference(TargetElementUtilBase.java:116)
at com.intellij.codeInsight.TargetElementUtilBase.getReferenceOrReferencedElement(TargetElementUtilBase.java:301)
at com.intellij.codeInsight.TargetElementUtilBase.findTargetElement(TargetElementUtilBase.java:200)
at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:92)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:380)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1150)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:371)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:368)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:344)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:194)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)

Auto import modules

When injecting an object, it would be great to automatically include the module where the dependency is declared.

Another cool option related to modules would be 'Auto import missing modules'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.