One of the differences between Flash CS and FD is that in CS it is much less clear the relationships between ‘code blocks’ and the objects – that is it is hard to tell where you as classes are and how they relate to each other. This was probably necessary in their integration of graphics creation and naming etc on the fly.
FlashDevelop on the other hand is pure code – you wont be drawing anything with the mouse for use in your program while in FlashDevelop. There are many other tools out there (GIMP, GraphicsGale for example) that you can use for graphics, and then export them as .PNG to then embed in a class in FlashDevelop.
Since FlashDevelop is pure code, you learn the most programmatically from messing around in there (I would recommend starting with “Hello World!” to get a basic understanding of class and instance relationships) and you know exactly what is going on (rather than in flash cs where you could lose track of where a specific bit of code is)
With instance naming in FlashDevelop, this is done in pure code (which was handled in the background for you in CS without overtly saying so) so say if you want an instance of the Class Spaceship, you would go like
//the syntax to be used, notice that instanceName first letter is NOT capitalized,
//this makes it easier to differentiate instances of classes from classes themselves
private var instanceName:ClassName = new ClassName();
//the syntax in practice. The instance name here is playerShip and it is an instance of Spaceship
private var playerShip:SpaceShip = new SpaceShip();