The official source of product insight from the Visual Studio Engineering Team
A software engineer's glory so often goes unnoticed. Attention seems to come either when there are bugs or when the final project ships. But rarely is a developer appreciated for all the nuances and subtleties of a piece of code--and all the heroics it took to write it. With Visual Studio Achievements Beta, your talents are recognized as you perform various coding feats, unlock achievements and earn badges.
Visual Studio is a powerful tool with tons of features, many of which you may not know about. Earning some of the badges may result in learning about features you didn’t even know existed!
Download it today from the Visual Studio Gallery
With the Visual Studio Achievements Extension, achievements are unlocked based on your activity. Your code is analyzed on a background thread each time you compile. In addition, the extension listens for certain events and actions that you may perform in Visual Studio, reporting progress on these events to the server.
When you unlock an achievement, Visual Studio lets you know visually with a pop-up:
Figure 1 - Unlocking An Achievement
In addition, your Channel 9 profile is updated with any achievements you earn, recalculating your position on the leaderboard:
Figure 2 - The Visual Studio Achievements Leaderboard
Some examples of individual achievements include Regional Manager (have more than 10 regions in a single class), Close To The Metal (use 5 preprocessor directives), Stubby (generate method stubs 10 times) or Interrupting Cow (have 10 breakpoints in a file). All in all, there are 32 achievements awaiting to be unlocked, all of which are listed here. Here's what the 6 different badges look like:
The Six Categories of Achievements
Customizing Visual Studio
Don't Try This At Home
Good Housekeeping
Just For Fun
Power Coder
Unleashing Visual Studio
Each time you earn a badge, a unique page is created with your profile picture, the badge and a description. You can tweet about achievements you earn and/or share them on Facebook:
Figure 3 - Share A Page
Or, you can show a list of achievements on your blog using the Visual Studio Achievements Widget which is as simple as adding one line of script to your page. After all, those badges look so shiny and nice! Here's an example of the widget on a blog:
Figure 4 - The Visual Studio Achievements Widget On A Blog
We have to give props to the blog While True, whose blog post What If Visual Studio Had Achievements inspired us to go build this. That post spawned a reddit post that is the thread which started it all!
We're just getting started with Visual Studio Achievements and are hoping to release more in the future. If you have ideas for additional achievements, we'd love to hear about them. Please use the Q&A section of the achievements extension to make suggestions for future achievements. And if you have suggestions, concerns, issues or problems, again, use the Q&A section of the achievements gallery page. Give a read to the FAQ as well as your question may already be answered.
Please note:
What is the API for triggering Achievements? could we write our own and import them into the library? I think OOP, and pattern implementation would be a great type of achievement. (I.E. "Alone at the top: you implemented the singleton pattern")
Pity you couldn't do something, anything, for native coders...
Interrupting Cow. Haha, that is a good one. :D
Haha this is a funny idea although this is probably going to cause at least some people to write bad code just to get the achievement :P
Do you know what is missing? A button (or an option) to tweet about your achievements when you unlock them. And brag about them!
why is the "Power Coder" emblem the sign language symbol for "I love you". I assume you were going for the rock and roll symbol(the horns) which is the same thing except the thumb isn't sticking out.
This is actually pretty awesome. There needs to be achievements for sql server next.
"This is actually pretty awesome"
Nope, this is actually utterly pointless.
"Nope, this is actually utterly pointless."
Which is exactly WHY it's so awesome :)
@Nate Tregillus - You can find more about the API here: channel9.msdn.com/.../Visual-Studio-Achievements-API. As far as writing your own, we are planning our v2 and extensibility options. Stay tuned...
@Lo Zeno -- There is a tweet button for each unique page with your username and the achievement, aka: channel9.msdn.com/.../Breakpoint10InOneFile
@Dave -- Wow, good catch! Gonna have to fix that I think...
I guess people want to be connected everywhere. Just for me...when I'm in VS coding, I want to be focused on the task at hand.
Several of the achievements are rewarding very poor programming practices, like a class with 10 level of inheritance, 20 one-letter variables, etc. I don't understand who benefits from promoting those coding monsters.
I have to agree with Franco Folini. While I'm all in for achievements, I don't think promoting the use of bad coding practices is a good idea at all.
Moving on: "Master exploder; you got building errors 5 times in a row while modifying code in between compile tries."