Wednesday, June 08, 2011

JustDecompile continues to evolve

JustDecompileIt's only been a few weeks since we introduced the JustDecompile beta to massive online audiences, and in the time that has passed JustDecompile has been downloaded thousands of times. The early feedback has been overwhelmingly positive, and we're happy that the community is as excited as we are to rethink the free .NET assembly browser and decompiler. You can join in the conversation and share your ideas by visiting the official JustDecompile UserVoice page today.

JustDecompile has already been updated a few times since the original beta, adding new functionality, improving performance, and refining decompiled code output. This is an ongoing process, but we hope that the early and frequent access to new bits helps you get the most out of JustDecompile and encourages you to stay engaged in the beta.

Latest Updates

This week, JustDecompile received another round of updates, building on the improvements introduced around the time of TechEd. Full release notes are available online, but I thought I'd highlight some of the things now in JustDecompile that were not in the original beta release:

  • Support for decompiling to VB (in addition to C#)
  • Support for processing variable names from PDB symbols (when available)
  • Ability to customize code viewer fonts, colors, and sizes
  • Support for viewing (and saving) assembly resources
  • Tool tips that display the full type name
  • Better decompiling support for:
    • nested types
    • anonymous delegates
    • lock statements
    • yield statements
    • generics
  • Improved installer

Clearly, this is all in addition to work on memory optimization, and lots of little things being done to improve the product. In the list above, four of the major items (all italicized) are a result of direct feedback through UserVoice! We're listening and improving quickly based on your input, so don't miss your chance to help shape the JustDecompile roadmap.

Custom Colors

One of the new features in the latest release is support for customizing the Code Viewer fonts, colors, and sizes. JustDecompile now provides a simple, interactive dialog, complete with a color picker, for customizing the colors for various code "tokens," along with support for adjusting the font and font size. There are two themes built-in to JustDecompile today: the default and a theme called VibrantInk (essentially, a dark background theme).

Any customizations you make to the theme are saved in the JustDecompile settings file (located in the JustDecompile AppData folder). So, while today's beta lacks the ability to easily add or share custom themes, you can directly modify the Settings.xml file to directly "import" your own custom theme.

justdecompile-colors

For an example, I've created a simple theme that simulates the code viewer stylings of Reflector 6.5 (yellow background, Segoe UI font, etc.). You can use this "theme" by simply replacing the <CodeViewSettings> XML in your settings file with the following:

File: C:\Users\{your username}\AppData\Roaming\JustDecompile\Settings.xml

<CodeViewerSettings>
<ColorSettings>
<ColorSetting>
<Name>Background</Name>
<Color>
<A>255</A>
<R>255</R>
<G>255</G>
<B>225</B>
<ScA>1</ScA>
<ScR>1</ScR>
<ScG>1</ScG>
<ScB>0.7529422</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Reference</Name>
<Color>
<A>255</A>
<R>25</R>
<G>144</G>
<B>55</B>
<ScA>1</ScA>
<ScR>0.009721218</ScR>
<ScG>0.2788943</ScG>
<ScB>0.0382043719</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Key Word</Name>
<Color>
<A>255</A>
<R>16</R>
<G>0</G>
<B>160</B>
<ScA>1</ScA>
<ScR>0.005181517</ScR>
<ScG>0</ScG>
<ScB>0.3515326</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Literal</Name>
<Color>
<A>255</A>
<R>128</R>
<G>0</G>
<B>0</B>
<ScA>1</ScA>
<ScR>0.2158605</ScR>
<ScG>0</ScG>
<ScB>0</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Text</Name>
<Color>
<A>255</A>
<R>0</R>
<G>0</G>
<B>0</B>
<ScA>1</ScA>
<ScR>0</ScR>
<ScG>0</ScG>
<ScB>0</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Write Usage</Name>
<Color>
<A>255</A>
<R>255</R>
<G>200</G>
<B>216</B>
<ScA>1</ScA>
<ScR>1</ScR>
<ScG>0.577580452</ScG>
<ScB>0.6866853</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>Read Usage</Name>
<Color>
<A>255</A>
<R>173</R>
<G>228</G>
<B>240</B>
<ScA>1</ScA>
<ScR>0.4178851</ScR>
<ScG>0.7758222</ScG>
<ScB>0.8713671</ScB>
</Color>
</ColorSetting>
<ColorSetting>
<Name>None Usage</Name>
<Color>
<A>255</A>
<R>173</R>
<G>228</G>
<B>240</B>
<ScA>1</ScA>
<ScR>0.4178851</ScR>
<ScG>0.7758222</ScG>
<ScB>0.8713671</ScB>
</Color>
</ColorSetting>
</ColorSettings>
<FontFamilyName>Segoe UI</FontFamilyName>
<FontSize>12</FontSize>
</CodeViewerSettings>

Enjoy!

Reflector Lists

One final JustDecompile highlight. If you've built-up a library of Reflector assembly lists over the years and want to bring those over to JustDecompile, one of the Telerik product team devs has created a simple WPF tool to help you do just that. You kind find the simple import utility on his blog and start enjoying your Reflector lists in JustDecompile today.

Keep enjoying the JustDecompile beta and stay tuned for more updates. Another refresh is just around the corner!

1 comments:

Carlos said...

support for types dynamics? thanks you.