JavaScript Advanced Topics

Not really an advanced topic, but nevertheless nice collection of “JavaScript libraries, frameworks, and plugins” at JavaScripting.

And then some more:


AngularJS Style Guides

And, finally, not a style guide (but has references to them :)) – The ginormous and unstoppable list of useful Angular resources


In our work project we moved to AngularJS, and I must say that it is great! Beats Durandal and Knockout to to one – no kidding. Everything is much better – bindings to “normal” objects, nice routing system, no need for 20 other libraries to make it working, etc.

So, here I will try to collect some helpful links to start with:

  • Learn AngularJS in 5 Steps: some good advices for n00bs.
  • rather nice collection of short videos about various aspects of Angular.
  • Prototypal Scope/JavaScript Inheritance: guy put together a lot of work to get the article written – must read.
  • Post from Miško Hevery himself about differences between values, services, factories, providers…
  • Great answer to the How do I “think in AngularJS” if I have a jQuery background? StackOverflow question (TL;DR – ditch jQuery if you do AngularJS).

Editor Error in Visual Studio 2012

Sometimes Visual Studio 2012 goes slightly mad and displays an error message (did not take screenshot, sorry) that it has encountered an exception that might be caused by an extension, and mentions the Activity Log file.

This file is normally located at %appdata%\Microsoft\VisualStudio\11.0\ (where %appdata% is normally C:\Users\<yourUserName>\AppData\Roaming) and is called ActivityLog.xml – one can check the problem in more details (TIP: there is the corresponding xsl file, so the xml file opened in IE will be nicely formatted).

Usually the exception message stored in the ActivityLog.xml will clearly point to the offending extension/plugin.

If it does not, the deleting the %localappdata%\Microsoft\VisualStudio\11.0\ComponentModelCache\Microsoft.VisualStudio.Default.cache file (where %localappdata% is normally C:\Users\<yourUserName>\AppData\Local) might solve the problem. It is safe to delete this file as it will be rebuild when Visual Studio is starting. And, of course, Visual Studio should be closed when you are trying to delete this file.

If even then the problem persists, then pray to god(s) – there is no help for you! :)

TypeScript IntelliSense

We are going to use TypeScript in our product, so imagine my disappointment when I realized that IntelliSense is not working for TypeScript files in Visual Studio 2012, despite it should.

I have tried everything I could – played with VS settings, uninstalled and reinstalled TypeScript, ReSharper, whole Visual Studio… Nothing. Finally, I had to reset my Windows and start from scratch. After two full days completely wasted trying to get IntelliSense working, I finally got to the magic point of having fresh Windows, Visual Studio, and TypeScript. Started it all up, and bang – no IntelliSense again! After pulling some hair out, and crying quietly in the corner, I started second round of uninstalling and installing TypeScript, including older version 0.8.2, Web Essentials, resetting VS settings, etc. Same result. Finally I checked my Visual Studio plugins, and, to my surprise, spotted MySQL Tools for Visual Studio extension, despite I did not want to install it in the first place when MySQL was installed earlier. Removed this plugin, and voila, TypeScript IntelliSense at its best!

What is strange, I have tried to install MySQL server and its Connector/.NET at home (although a newer version package), and surely got the unwelcome MySQL Tools for Visual Studio extension with them. But! The TypeScript IntelliSense works nevertheless, despite a completely different picture was observed at work twice. Go figure.

So, if TypeScript’s IntelliSense is not working, I would recommend to remove all extensions, starting from those more exotic (e.g. MySQL, and those less used by wide population) – it might actually repair the thing.