SapphireSteel Forum
Welcome, Guest. Please login or register.
May 18, 2013, 12:27:48 AM

Login with username, password and session length
Search:     Advanced search
Welcome to the SapphireSteel forum - for discussion of the Ruby In Steel and Amethyst IDEs
3883 Posts in 799 Topics by 669 Members
Latest Member: m
* Home Help Search Login Register
+  SapphireSteel Forum
|-+  General
| |-+  Amethyst
| | |-+  Build 797 Bugs
« previous next »
Pages: [1] 2 Print
Author Topic: Build 797 Bugs  (Read 6781 times)
Luth
Jr. Member
**
Posts: 59


« on: December 23, 2009, 05:19:10 PM »

Liking the new version, mates.  I've pounded on it for a few hours, and here's an initial report.   Cool


1) Amethyst is incorrectly adding imports.  Example:
   import int;
   import flash.utils.Endian;
   import Array;
   import uint;
(I don't have the reproduction steps, as these are often added without my noticing.)

2) Typing "trace(" will result in the line being changed to "Trace(" and an additional "import flash.trace.Trace" line being added.  Afaik, this is new this version.  (It's really annoying when trying to trace out debug information.)

3) Compiling (F7) will output errors from the Flash IDE's last compile output, not from the actual compile that takes place.

4) When attempting to add the project FLA into the solution as an Existing File (for the purposes of adding the file under automatic source control via VS), Amethyst will create a copy of the file and include that into the project instead of the selected file.

5) Creating in-line function bodies results in odd tabbing.  Type: "function() { var i = 5; }"  When the closing brace is typed, it will place just the closing brace on a new line, leaving the rest of the line [function(){ var i = 5; ] on the original line.  Amethyst should either allow in-line bodies (my vote) or properly format the entire block according the the Amethyst options.  (NB: this also affects creating Objects via the {name:value} format)

5b) I typed the following into an in-line function:  cb.data["type"] = "Flower";    When I placed the closing } after the semicolon, in addition to above, the inner data was changed to read:  cb.data["type"] = = "Flower";   (note the two equal signs)

6) Duplicate import lines.  To reproduce, type:  import flash.display.Sprit     then push "Enter" to auto-complete the line.  What will be written is:
import flash.display.Sprite
import flash.display.Sprite;

7) Spacing treats tab-characters as single-character width.  Type the following:  [tab][tab][tab][enter]xx      Now push the "Up" arrow.  Instead of being taken to the begging of the first tab on the prior line, the caret is instead after the second tab.
« Last Edit: December 26, 2009, 06:44:13 PM by Luth » Logged
Dermot
Administrator
Hero Member
*****
Posts: 1005


« Reply #1 on: December 28, 2009, 08:08:26 AM »

OK - thanks for the bug reports. None of them look too difficult to track down and fix.

I'll fix them for our next 'edge' release.

dermot
Logged
Luth
Jr. Member
**
Posts: 59


« Reply #2 on: December 28, 2009, 06:56:55 PM »

Happy to help however I can.  When do you expect (ballpark figure) the next "edge release" to be?  (This "trace" thing is bloody annoying Grin)
Logged
Huw Collingbourne
Administrator
Hero Member
*****
Posts: 933



« Reply #3 on: December 29, 2009, 05:57:42 AM »

We plan to make another edge release (with the enhanced Cylon debugger) in a couple of weeks and we'll aim to put in a fix for this at that time.

The reason this happens, by the way, is that Flash has a Trace class (which I didn't know about until we tried to diagnose your problem!) and the IntelliSense code completion matches this (case insensitive). This is similar behaviour to C#. I think where we can improve this is by trying to do a case-sensitive match before going on to do a case-insensitive one in the completion list.

In the meantime there are several things you can do to avoid your problem:

1) Select the Common completion tab instead of All (by default, the Trace class does not appear in Common - but if you have a Trace import statement delete this first). This tab will remain active and will not substitute Trace when you enter trace.
2) Alternatively disable auto-completion whenever a character is typed (Tools,Options,Text Editor,ActionScript,Intellisense - uncheck Show Completion list after character is typed)
3) Or just press ESC when the completion list appears.

You can always force the completion list to appear by press Ctrl+Space.

best wishes

Huw
Logged
Luth
Jr. Member
**
Posts: 59


« Reply #4 on: December 29, 2009, 01:52:45 PM »

Huw, thanks for the tip.  I'll try switching my list to Common for the time being.  I've tried to get used to hitting Esc, but it's just not habit.  Smiley

I look forward to your next edge release.

*edit*
So, where are these "Common" and "All" tabs?  I've looked through the Tools/Options and Project Settings, but haven't come across them.
« Last Edit: December 29, 2009, 03:55:10 PM by Luth » Logged
Huw Collingbourne
Administrator
Hero Member
*****
Posts: 933



« Reply #5 on: December 29, 2009, 04:54:10 PM »

Common/All tabs should be there by default (as in 3rd picture here): http://www.sapphiresteel.com/Flash-IDE-Integration-With

It is possible they may not appear if there are no 'Common' lists available (e.g. if you are somewhere out of scope of a class with its own members) but otherwise they should be there. If you only see a single list can you verify a) that you are at a location inside a class definition and that b) your code is correct. Our ActionScript IntelliSense is like a sort of interpreter that analyses code and requires correct syntax. If you have errors (red squigglies) fix those and try again.

If you aren't getting a Common/All list can you let us know 1) is this in an MXML file, an AS file or both and 2) is this only for certain files or is it in all files? If in doubt, create a new ActionScript class file with a few simple vars (Strings, Buttons or whatever with appropriate imports) and try code completion on the dot after the var name. Please let us know if you find any places where the Common/All completion is/is not active.

all the best

Huw
Logged
Luth
Jr. Member
**
Posts: 59


« Reply #6 on: December 29, 2009, 08:43:59 PM »

No no, you're quite correct.  I just have never taken the time to look at the AutoComplete Drop-down box before.  Smiley  Learn something new every day.
Logged
frank
Jr. Member
**
Posts: 72


« Reply #7 on: January 04, 2010, 02:17:35 PM »

Hello,

You did a very good build and I am really excited to see the next internal build with the fixes that you have discussed in the previous posts.

I also have found another small bug (even though it is a minor compared to the others found by Luth).
Whenever I import a new flash project from an existing folder the intellisense doesn't recognize the classes in the project until I save the new project and close it.
If I reopen it, intellisense starts to work with the classes present in the project.
Note that all my classes are located in different subfolders and different namespaces from the main AS class that I was working with.

Anyway great job!!

Frank
Logged
Dermot
Administrator
Hero Member
*****
Posts: 1005


« Reply #8 on: January 05, 2010, 03:50:49 AM »

The IntelliSense is due for some work after our next mini-release. The main problem with IntelliSense right now (apart from the bugs already reported) is that the project synchronization is not that good. For example, removing a Reference doesn't properly rebuild the IntelliSense database. What you've got here is an example of that.

My current short term schedule is to spend the next few days finishing the Cylon debugger (the current version is only half completed and the major new feature allows debugging multiple SWFs at the same time: very useful for Web developers). Then I'm down to fix the bugs reported in 797 and so we hope to have our next edge release available by mid-Jan.

After that, I think iI'm down for IntelliSense - mainly 3rd party controls and synchronisation.

Dermot
Logged
frank
Jr. Member
**
Posts: 72


« Reply #9 on: January 05, 2010, 12:10:46 PM »

My current short term schedule is to spend the next few days finishing the Cylon debugger (the current version is only half completed and the major new feature allows debugging multiple SWFs at the same time: very useful for Web developers).

That's really exiticing because usually we work with project that loads other clips containing code and we to chose if we want to debug the main swf or the file that was loaded in!!

Also I wasn't able to debug simple fla project that I did for test and I am not sure if this is a bug or if I am missing something.

I tried to create a simple flash project with just a simple AS class that has only the constructor I put a trace command (the lower case one) in it and a break point.
I have set my simple AS class as the main class in the Properties panel of the Flash IDE and I have include it in my project (setting the fla file as start-up file).

Everything seems to be setup as it should and according your tutorials: http://www.sapphiresteel.com/ActionScript-Editing-For-Flash-IDE and http://www.sapphiresteel.com/Flash-IDE-Integration-With

But if I press F5 IE starts but the breakpoint is not hit.
Also the ".err" and the ".amethyst" files are clean (no errors and the .amethyst says "done").

Am I missing something here? Any advice would be appreciated.

Thanks,
Frank
Logged
Huw Collingbourne
Administrator
Hero Member
*****
Posts: 933



« Reply #10 on: January 05, 2010, 01:19:55 PM »

Have you enabled the Flash IDE for debugging? In the Flash IDE in Publish Settings, ensure that 'Permit Debugging' is set.

best wishes

Huw
Logged
frank
Jr. Member
**
Posts: 72


« Reply #11 on: January 05, 2010, 02:12:27 PM »

Thank you very much Huw!!
I missed this step from the previous Dermot's post! Tongue

Now the breakpoint is reached within visual studio.

Frank
Logged
frank
Jr. Member
**
Posts: 72


« Reply #12 on: January 08, 2010, 10:18:03 AM »

Today we tried to use Amethyst to debug an AIR project that we have created in Flash but it seems that Amethyst is not able to run it after the publishing process.

Are you planning to handle air files made in Flash in Amethyst?
Do you know a workaround to force Amethyst to hook Visual studio to the AIR file?
We tried to use "Attach to process" while the file was running using the Flash debugger but the break points weren't reached (I enabled the publishing setting "Enable debug").

Also If I want to debug my non-AIR Flash project using the internal flash player rather than using IE is there a way to setup Amethyst to do that?

Thanks,
Frank
Logged
Dermot
Administrator
Hero Member
*****
Posts: 1005


« Reply #13 on: January 08, 2010, 12:45:34 PM »

That's a good point - I hadn't thought of doing that.

I think you might be able to do it with the current version by changing the Web Browser property.

If you look under Tools | Options | Projects | Amethyst you'll see two Web Browser properties. By befault these are set to IE and Firefox. You can switch between them dynamically by choing Amethyst from the main menu and right clicking 'Use Seconadry Browser' (it toggles).

However, the 'browser' in these properties can be any executable, so try setting the primary browser (say) to 'C:\Program Files\Flex 3 SDK\bin\adl.exe' (on my machine). Then when you try to debug, the IDE program launch will use ADL to run the program and not IE. So using the Flash IDE as the compiler will produce an AIR SWF file which you can then use to ADL to run. Also, that technique should enable you to use the internal Flash player to run Flash SWFs.

Try that.

Dermot
Logged
Dermot
Administrator
Hero Member
*****
Posts: 1005


« Reply #14 on: January 08, 2010, 01:11:54 PM »

Actually, I've just realised this wont quite work.

The ADL requires an xml file as it's input not the SWF and currently there is no way override that.

I think I might have to introduce a Flash/AIR MSBuild target. Anayway, I'll make sure that it's in the next mini-release.

Dermot
Logged
Pages: [1] 2 Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!