ActionScript IDE ( for MS VisualStudio 2008 ) 소개

Flash IDE, Flex Builder, Flash Develop, SEPY, FDT… 등 많은 IDE툴을 만져보고, 항상 IDE에 대한 불만을 갖고있었습니다. 모 나름 eclipse기반의 Flex Builder나 FDT등은 Flash내장 에디터에 비하면 정말 훌륭하지만 말이죠.

오늘은 Eclipse기반이 아닌 MS社의 Visual Studio 2008 의 Addon으로 사용가능한 IDE를 소개하고자 합니다.
Flash Develop을 쓰다보니, 닷넷 Framework을 쓰는것이 의심스러워, 구글링을 한지 1분도 안되서 찾은걸로 보아, 저만 모르고 있던거 같네요…

소개할 툴은 2가지 입니다.

1. Ensemble tofino

Ensemble Tofino for Visual Studio is a plugin that enables .NET developers to create Flex front ends for their applications in the same IDE that they normally use. Instead of using a separate text or XML editor and manually invoking the compiler, they can move smoothly between MXML and .NET file types within Visual Studio, and invoke Flex build and run commands from Visual Studio menus.

download : http://www.ensemble.com/products/tofino.shtml


2. Amethyst

Amethyst is SapphireSteel’s IDE for programming rich web-based and desktop applications using Adobe Flex and AIR [1]. This page includes a link to download Amethyst (beta), plus information on its installation and use. Please be sure to read the installation advice before installing Amethyst.

[#M_ more.. | less.. |
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
_M#]download : http://www.sapphiresteel.com/Download-Amethyst-Adobe-Flex-IDE


둘다 어제 찾다보니, 자세한 사용법은 추후에 포스팅 하겠습니다.

FlashDevelop 단축키 모음


* Escape: Close the completion list and method call-tip (or press Ctrl key to hide them).


* F1: when you see “…” in a (yellow) tip, you can press F1 to see a more detailed tip.



* F4: go to declaration of element at cursor location.


-커서가 위치하고 있는 곳의 오브젝트나 이벤트,명령어에 접근합니다.
* Shift+F4: jump back after F4 or code generation.


-이전 문서로 돌아가거나 코드의 생성부분으로 접근합니다.

* Ctrl+Space: contextual completion list – also, press Tab to expand snippets like ‘for’, ‘while’, etc.
-해당 코드의 상속되는 메소드나 속성을 나열하여줍니다.

* Ctrl+Shift+Space: method call-tip (the yellow window with current method’s signature)
* Ctrl+Alt+Space: list all project classes (as after ‘:’ or keywords like “new”)

* Ctrl+Shift+1: contextual code generation 
– 이벤트나 명령어를 자동으로 생성해 줍니다.


Ctrl + Space 코드 완성 창 호출



Ctrl + Alt + Space 사용 가능한 클래스 목록 호출

Ctrl + Shift + F 코드 블록 축소 배포



Ctrl + Shift + A 코드의 모든 축소



Ctrl + Shift + E 축소 코드의 모든 확장

Ctrl + Shift + 1 코드 자동 생성 (로컬 변수를 클래스 변수에 상승, 클래스 변수의 setter / getter 메소드 발생 클래스 가져오기). 

Ctrl + Shift + Space 메서드 호출 팁 호출

F4 마우스커서 위치에있는 요소 (클래스와 변수, 메서드) 정의 업체에 점프



Shift + F4 “F4″의 반대로 원래 위치로 이전 

Ctrl + B 스니펫의 호출


F1 코드 힌트 단순 세부 내용 전환 (코드 힌트가 나타날 때 F1) Esc 호출 팁 취소 및 숨기기

Ctrl + Shift + K 색상 입력 보조



Ctrl + Q 일행 또는 선택된 행 코멘토아웃/ 취소 (/ / 형식)



Ctrl + Shift + Q 선택된 행 (복수) 코멘토아웃 취소 (/ / 형식)



Ctrl + Shitf + B 선택된 행 (복수) 코멘토아웃(/ * 형식 * /)


F5 무비 테스트 (실행)



F6 무비 테스트 (Flash IDE)



F8 프로젝트 빌드



Ctrl + F8 현재 파일 빌드



Ctrl + C 선택 사본



Ctrl + X 선택 사항 스크랩



Ctrl + V 선택 항목 붙여넣기



Ctrl + Z 직전 작업 취소

Ctrl + Shift + C 행 복사



Ctrl + Shift + X 라인 스크랩



Ctrl + D 행 복사 다음 행 (신규)에 붙여넣기



Ctrl + Shift + D 행 삭제

Ctrl + T 라인으로 교체



F3/Shift + F3 선택한 단어와 일치하는 후보 간 이동


Ctrl + F 문자열 검색


Ctrl + H 바꾸기


Ctrl + I 파일 대상 바꾸기


Ctrl + G 줄 자리에 점프


Ctrl + S 파일 저장


Ctrl + O 파일 열기


Ctrl + N 새 파일 만들기


Ctrl + F9 Global Classpath (전역 클래스 경로) 설정


F10 Program Settings (프로그램 관련 설정)


Alt + Shift + Enter 전체 화면보기 / 이전  


Creating a Papervision BaseTemplate (by FlashDevelop)

FD3 (Flash Develop 3 RC2)를 사용하여, Papervision 3D 프로젝트를 만들기 위해서 처음으로 해야할 일에
대해 알아보자.
1> 일단 FlashDevelop을 키고 시작페이지에서  “New:Project… “을 누른다.
사용자 삽입 이미지
New Project창에서 Actionscript 3.0항목에 있는 Empty Project를 선택하여 Name 입력부에 프로젝트 이름을 적어준다. (이때 Create Directory for Project항목을 체크한다.)
사용자 삽입 이미지
OK를 누른후 Project 패널에 source파일을 추가해야하는데, 일단 Papervision Source를 푸가해보자
메뉴상단에 Project > Preference.. 를 선택하고, 해당 대화창의 Classpaths탭을 누르고, Add ClassPath를 
클릭한다.
사용자 삽입 이미지
이렇게 추가한후 Project패널에 프로젝트를 선택한후 우클릭하고 Add > New Class를 통해 새로운 Class를 생성한다.
사용자 삽입 이미지사용자 삽입 이미지
이는 blank class이다. 
처음으로 이 class를 compile할때는, Main AS 파일을 우클릭하고, tree메뉴의 “Always Compile”을 클릭한다.
컴파일된 SWF파일의 위치를 변경하고자 할때는 project메뉴의 Preference를 선택하고, Output탭 아래의 General을 보면 “Output File”옆에 Browse를 눌러 설정할수 있다.
1765372394.as
ActionScript Source :
//
package  {
    // These lines make differant ‘pieces’ available in your code.
    import flash.display.Sprite; // To extend this class
    import flash.events.Event; // To work out when a frame is entered.
   
    import org.papervision3d.view.Viewport3D; // We need a viewport
    import org.papervision3d.cameras.*; // Import all types of camera
    import org.papervision3d.scenes.Scene3D; // We’ll need at least one scene
    import org.papervision3d.render.BasicRenderEngine; // And we need a renderer
   
    public class PaperBase extends Sprite { //Must be “extends Sprite”
       
        public var viewport:Viewport3D; // The Viewport
        public var renderer:BasicRenderEngine; // Rendering engine
        // — Scenes — //
        public var default_scene:Scene3D; // A Scene
        // — Cameras –//
        public var default_camera:Camera3D; // A Camera
       
        public function init(vpWidth:Number = 800, vpHeight:Number = 600):void {
            initPapervision(vpWidth, vpHeight); // Initialise papervision
            init3d(); // Initialise the 3d stuff..
            init2d(); // Initialise the interface..
            initEvents(); // Set up any event listeners..
        }
       
        protected function initPapervision(vpWidth:Number, vpHeight:Number):void {
            // Here is where we initialise everything we need to
            // render a papervision scene.
            viewport = new Viewport3D(vpWidth, vpHeight);
            // The viewport is the object added to the flash scene.
            // You ‘look at’ the papervision scene through the viewport
            // window, which is placed on the flash stage.
            addChild(viewport); // Add the viewport to the stage.
            // Initialise the rendering engine.
            renderer = new BasicRenderEngine();
            // — Initialise the Scenes — //
            default_scene = new Scene3D();
            // — Initialise the Cameras — //
            default_camera = new Camera3D(); // The argument passed to the camera
            // is the object that it should look at. I’ve passed the scene object
            // so that the camera is always pointing at the centre of the scene.
        }
       
        protected function init3d():void {
            // This function should hold all of the stages needed
            // to initialise everything used for papervision.
            // Models, materials, cameras etc.
        }
       
        protected function init2d():void {
            // This function should create all of the 2d items
            // that will be overlayed on your papervision project.
            // User interfaces, Heads up displays etc.
        }
       
        protected function initEvents():void {
            // This function makes the onFrame function get called for
            // every frame.
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
            // This line of code makes the onEnterFrame function get
            // called when every frame is entered.
        }
       
        protected function processFrame():void {
            // Process any movement or animation here.
        }
       
        protected function onEnterFrame( ThisEvent:Event ):void {
            //We need to render the scene and update anything here.
            processFrame();
            renderer.renderScene(default_scene, default_camera, viewport);
        }
       
    }
   
}

FlashDevelop 3.0.0 RC2 released

사용자 삽입 이미지
Post FlashDevelop 3.0.0 RC2 released
This release took long because we wanted to implement all features that might effect the user files and therefore once again, previous FlashDevelop versions are incompatible with this one. Sorry for the trouble. As we are now approaching the final release of FlashDevelop 3, this release is the last feature release. We will now focus only to make FlashDevelop rock solid. We also try to write some documentation about FD basics and all contributors are welcome to join us.

About FlashDevelop:

Features
Screenshots

Changes:

* New events and comments added for plugin developers.
* New installable filetype (*.fdz) to deploy files in FD world.
* Slightly revised snippet editor and now it’s directly included in FD.
* New FlashLogViewer plugin which basicly is an extended version of Andrew Lucking’s FDTracer plugin.
* New dynamic arguments and a dialog to fill them just prior to template creation (was Enhanced Arguments plugin by Mike McMullin).
* Added an option to save UTF-8 files without BOM. To get this fully working like FB set the callback encoding to UTF-8.
* Many new options to the UI and processes in FlashDevelop.
* Newly generated fixed completion intrisic files.
* Updated AIR 1.5 templates.

+ Lots of bug fixes and other small improvements. :)

Future plans:

* Finish the AS3 debugger, investigate profiling.
* Implement class imports reorganisation and packages refactoring.
* Evaluate the possible cross-platform implementation.
* Add HTML/JS projects, investigate Jangaroo AS to JS compilation.
* Make the MXML completion actually smart.
* Integrate properly with Haxe compiler.

Important:

* Those who have customized their menus or syntax files previously need to review the customization notes from the wiki. View the documentation.
Backup your user files and uninstall FlashDevelop with setting files. From this point on we’ll preserve the user files so please customize the files again based on this release.
Get Adobe Flex 3 SDK. The free Flex SDK (2 or 3) is required for ActionScript 3 development if you don’t use Flash CS3.
Get the debug Flash Player (You need: Projector and ActiveX)
* Java 1.6+ is required for the Flex compiler (ActionScript 3).

:!: If you think the program is good, please donate some money for this project. :!:

Download:

Built from rev. 398
Download FlashDevelop 3.0.0 RC2