Writing Neo4j Console

So, Neo4j Console is now open sourced at: https://github.com/tournr/neo4jvsconsole feel free to branch, fix, edit whatever and issue pull requests, or even just have a gander and code review :)

I thought I’d write some notes on what I’ve done and why.

Let’s split it into 2 main areas, UI and Backend.

The UI

Extremely simple WPF front end – I mean – it’s only got 3 text boxes! If I’m honest, it’s not what I want – I want to create a console window like the F# console, something which really does act like a console. This is step one on that route though. If you look at the code you’ll see it’s MVVM’d with MvvmLight (by Laurent Bugnion) – which has given me at least a semblance of testing of the ‘History’ function. Again – confession time – this isn’t working perfectly.


So – I’m interacting with Neo4j so Neo4jClient right? Alas no, I’m using RestSharp to do my business, and here is the why –

  1. I don’t want to spend ages parsing your cypher to fit it into the fluent structure (I know I can use the IRawGraphClient – but..)
  2. I need to use signed third party dlls
    No – this isn’t me being picky, it’s Visual Studio. Basically any extension for Visual Studio must be signed itself, and once you’ve gone down that route everything you reference has to be as well. I was very lucky RestSharp has a signed version.

I appreciate I could have build my own Neo4jClient and signed it, but that starts to make things complicated, and I’m nothing if not lazy.

Extension general learnings

  • Signing is a big pain in the ar*e when you haven’t done it in a long time.
  • Remembering to actually install the Visual Studio 2013 SDK is important (alas the Visual Studio 2012 SDK will not install on Windows 8.1)
  • Remember to set the vsix manifest so it will install on Visual Studio 2012 AND 2013 (sorry Kenny)

Print | posted @ Friday, December 13, 2013 4:53 PM

Comments on this entry:

No comments posted yet.

Post A Comment