Developer Page

Starting point for developers working on this project

Construction status

Source code restructuring is complete for now. The structure of the source tree should remain stable for a while now.

The current suite of unit tests are primarily based on examples from http://yaml.org/spec/1.1/, and in a few cases have been complicated by typo's in that version. A draft of http://yaml.org/spec/1.2/ is now available, and seems to be in very good shape. I'd like to start building new unit tests based on the 1.2 examples. Any volunters to work on this?

Team roles

We're starting to grow, with several people offering some help with this project. Here's a proposal for how to work together. For any questions, please open a new item on the Discussions tab.

Burt's next goal will be to finish laying down the framwork for YAML serialization/deserialization. In addition to making YAML useful from a .NET enviornment, I beleive this should naturally lead to better error detection and messages in the editor.

I've enlisted Hans to help steer & coordinate the project, I'm sure he'll jump in on technical issues as he comes up to speed on YAML. Nelson volunteered help with editing on the wiki. Samuel has agreed to take on some of the setup work, which will be a great help as its become more complex than I initially expected. I'd like to work with Ben to review and test the serialization API's, as he had specific applications quite different from mine in mind.

Prerequsites

To work on the source code of this project, you'll need some tools, here's a list and links for where to get them.

Useful, but probably not absoutely necessary

Future tools:

  - Name: Bootstrapper Manifest Generator for Visual Studio 2008
    URL:  http://code.msdn.microsoft.com/bmg/Release/ProjectReleases.aspx?ReleaseId=1567
    Status: integration incomplete, expected to be part of the setup story

  - Name: Visual Studio 2008 Shell (integrated mode) with Service Pack 1 Redistributable Package
    URL:  http://www.microsoft.com/downloads/details.aspx?familyid=2e9a8c35-eb3d-43eb-9122-a5ec195cd7bb&displaylang=en
    Status: integration incomplete, expected to be part of the setup story
    
  - Name: MSBuild Extension Pack, version 3.5.1.0
    URL:  http://www.codeplex.com/MSBuildExtensionPack/Release/ProjectReleases.aspx?ReleaseId=18089
    Status: integration incomplete  

Using the Experimental Hive

When you install the Visual Studio SDK, it sets up an alternate configuration of Visual Studio, known as the "Experimental hive". The build process for the editor includes a step for registering the editor in the experimental hive, so you don't need to run the setup process in order to debug it. To perform this sort of debugging, you will need to open the project properties for Language Project, and on the Debug tab set the Start Action to Start external program: C:\vs9\Common7\IDE\devenv.exe (or whereever you've installed VS), and the Start Options Command Line Arguments to read: /RANU /RootSuffix Exp /NoVSIP. This will enable you to place breakpoints in the code, and use F5 to run a seperate copy of VS for debugging in the context of the editor. Note that these settings are stored in a machine-specific location, I can't change them for you in source control.

Certain changes (including menu, template, splash screen and about box changes.) require running a special devenv /setup command after the registry settings are updated. This isn't done as part of the build process because it takes a long time. The correct command line for doing this in the experimental hive is:

devenv /setup /RANU /RootSuffix Exp

My current approach for this: I've used the Tools/External Tools... menu to create a Tools menu entry to run this command. The drawback to this approach is it doesn't notify you when it's done. I just watch for the disk drive lite for to go out, it usually takes somewhere between 30 seconds and a minute. The alternative is opening a visual studio command prompt and entering the above command line.

Last edited Jan 14, 2009 at 3:14 PM by BurtHarris, version 14

Comments

No comments yet.