You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Carlos Rovira <ca...@apache.org> on 2016/09/27 16:28:43 UTC
[FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Hi Josh,
at last I could get all up and running with Visual Code and your @NextGenAS
extension, building and debgugging in Chrome. Pretty Amazing work! :)
(just one thing, the break point worked in a click function, but not in a
line of the main Main.as function, maybe source-maps doesn't work if the
breakpoint is in the constructor?)
Right now I'm figuring where to go from here:
1.- I thing I read somewhere that MXML is not supported yet in VSCODE, is
this right?
2.- I must list all as files in asconfig.json? or we could give is a folder
(i.e: "src") ?
3.- I'm trying to make some basic import from org.apache but VSCode not
recognize them:
package com.carlosrovira
{
import org.apache.flex.events.Event; <-----------------this 2
imports are not found
import org.apache.flex.events.EventDispatcher;
public class Component extends EventDispatcher. <---and this extends fails
{
public function Component()
{
}
}
}
3.- I build flexJS with maven, and my plan is to use a pom.xml, but there's
a asconfig.json as well....maybe is too cumbersome to have 2 config
files....could this be integrated both?
(maybe there's some maven extension in vscode? that make it easy to run and
build...I'm too new to vscode yet! :))
So far, as I said, amazing work! I think VSCode is now the best choice for
FlexJS development, not only for the fast progress, but for the
possibilities behind in few months.
Hope you continue get donations to your work on Patreon.
Best,
--
Carlos Rovira
http://about.me/carlosrovira
Re: [FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Posted by Carlos Rovira <ca...@codeoscopic.com>.
Thanks Josh,
I updated asconfigc vía nom to 0.1.5 and now is working :)
Now that is compiling, I must figure how to run a simple example with
flexes components :)
2016-09-28 0:55 GMT+02:00 Josh Tynjala <jo...@gmail.com>:
> Hey Carlos,
>
> The "unknown configuration variable" error was actually a bug in asconfigc.
> It was still trying to build a SWF. I guess I didn't test that path well
> enough, since I don't use the FlexJS components. Update asconfigc, and it
> should work now. Sorry about that!
>
> - Josh
>
> On Tue, Sep 27, 2016 at 2:53 PM, Carlos Rovira <
> carlos.rovira@codeoscopic.com> wrote:
>
> > Hi Josh,
> >
> > thanks for the responses:
> >
> > first, I try installing a Firefox VSCode debugger extension (Debugger for
> > Firefox 0.6.4 by Holger Benl) ...don't know if this is correct.
> > I add this in launch.json:
> >
> > {
> > "name": "Launch Firefox against debug.html, with sourcemaps",
> > "type": "firefox",
> > "request": "launch",
> > "file": "${workspaceRoot}/debug.html",
> > "sourceMaps": true,
> > "preLaunchTask": "asconfigc"
> > }
> >
> > (but says sourceMaps line is not supported)
> >
> > Anyway, selecting this config, firefox opens with the app running exactly
> > the same way as chrome, firefox stops not in Main but in a function
> called
> > by a click in a text. So, all the same as chrome.
> >
> > For 3.- I changed to "config": "flex" and I get imports and extends
> working
> > properly :)
> > but adding js-output-type like this:
> >
> > {
> > "config": "flex",
> > "compilerOptions": {
> > "debug": true,
> > "source-map": true*,*
> > * "js-output-type": "flexjs"*
> > },
> > "files":
> > [
> > "src/Main.as"
> > ]
> > }
> >
> > causes this compilation error:
> >
> > *command line*
> > *Error: unknown configuration variable 'source-map'.*
> >
> >
> > maybe is not correctly formulated?
> >
> > Regarding Maven, I'm talking with Chris about the config of a test
> project
> > and I think I have to dig a bit more on this. I'll report If I
> investigate
> > and find something useful.
> >
> > Thanks!
> >
> >
> >
> > 2016-09-27 19:36 GMT+02:00 Josh Tynjala <jo...@gmail.com>:
> >
> > > Awesome. Thanks for the feedback, Carlos!
> > >
> > > In one of the browser debuggers (either Chrome or Firefox), I couldn't
> > get
> > > a breakpoint to work in the constructor of the main class. Just like
> you
> > > describe. Strangely, the main class constructor worked in the other
> > > browser's debugger, and constructors from other classes were fine in
> > both.
> > > Since I saw that you tried using VSCode's Chrome debugging extension,
> it
> > > must have been Firefox that worked properly with the main class
> > > constructor.
> > >
> > > I don't really know why this happens. I kind of wonder if the source
> map
> > > isn't fully loaded/parsed yet when the code starts running in Chrome.
> By
> > > the time the click listener is called, everything is finished
> > initializing,
> > > I guess. That seemed like the most likely explanation to me.
> > >
> > > I think you can tell the debugger to pause immediately after starting,
> so
> > > you might give that a try. If it works, let me know and I can make a
> note
> > > of it somewhere.
> > >
> > > 1. This is correct. For the initial release, I focused on ActionScript
> > > only. MXML probably isn't trivial, but hopefully the most challenging
> > parts
> > > of integrating with the compiler are already done, so it should be
> > easier.
> > >
> > > 2. Only the main class for your app is all that's required in the
> "files"
> > > field of asconfig.json. All dependencies will be detected by the
> > compiler.
> > > I just updated the description in the wiki to try to make that a little
> > > more clear. I'll get the description in the JSON schema updated too.
> > >
> > > A little background. In most cases, people pass only one class into
> > mxmlc,
> > > but technically, it supports passing in multiple classes, with the
> final
> > > one being considered the entry point. I think other classes that are
> > passed
> > > in are simply included, even if they aren't referenced. Probably so
> that
> > > they can be found by reflection or something.
> > >
> > > VSCode supports a similar tsconfig.json for TypeScript, and it also
> > allows
> > > multiple files to be passed in (but it resolves dependencies too). To
> me,
> > > it made sense to allow multiple files, even if it isn't commonly used.
> I
> > > think this just needs clear documentation so that people understand
> that
> > > they don't need to include every class that they use. Just the main
> one,
> > > most of the time.
> > >
> > > 3. Which libraries from the SDK are included depends on which "config"
> > > value you set in your asconfig.json. You probably want "config":
> "flex",
> > > but there's one gotcha to watch out for. By default, both the extension
> > and
> > > asconfigc consider "config": "flex" to be a SWF project for Flash
> Player.
> > > If you want to transpile to JS, and also use the FlexJS components,
> > you'll
> > > also need to specify the "js-output-type" compiler option (the value
> > should
> > > be "flexjs", I think?). This isn't ideal, but it's the best I could
> come
> > up
> > > with because FlexJS doesn't have separate config files for JS and Flash
> > > Player (though, maybe it should...). I couldn't find a good way to do
> the
> > > opposite and make JS the default. I guess a new top-level field in
> > > asconfig.json could specify this, but I'm trying to keep extra
> > > configuration in asconfig.json that isn't a real compiler option to a
> > > minimum.
> > >
> > > 4. I'm not a Maven person. I would expect that you could set up Maven
> to
> > > run an executable like asconfigc. However, I suspect that's not
> > considered
> > > the Maven way. Some kind of Maven plugin to parse asconfig.json and
> pass
> > > the right arguments to the compiler (which is basically how asconfigc
> > > works) might be closer to how a Maven person would expect this to work.
> > >
> > > asconfig.json follows the VSCode way of doing things. There is
> > > tsconfig.json for TypeScript and jsconfig.json for JavaScript. I wanted
> > to
> > > follow the same pattern, if possible. I tried using the little-known
> > trick
> > > where mxmlc will try to load a -config.xml file if it matches the main
> > > class file name (so for Main.as, it would try to load Main-config.xml,
> if
> > > it exists), but it couldn't configure everything.
> > >
> > > - Josh
> > >
> > > On Tue, Sep 27, 2016 at 9:28 AM, Carlos Rovira <
> carlosrovira@apache.org>
> > > wrote:
> > >
> > > > Hi Josh,
> > > >
> > > > at last I could get all up and running with Visual Code and your
> > > @NextGenAS
> > > > extension, building and debgugging in Chrome. Pretty Amazing work! :)
> > > >
> > > > (just one thing, the break point worked in a click function, but not
> > in a
> > > > line of the main Main.as function, maybe source-maps doesn't work if
> > the
> > > > breakpoint is in the constructor?)
> > > >
> > > > Right now I'm figuring where to go from here:
> > > >
> > > > 1.- I thing I read somewhere that MXML is not supported yet in
> VSCODE,
> > is
> > > > this right?
> > > >
> > > > 2.- I must list all as files in asconfig.json? or we could give is a
> > > folder
> > > > (i.e: "src") ?
> > > >
> > > > 3.- I'm trying to make some basic import from org.apache but VSCode
> not
> > > > recognize them:
> > > >
> > > > package com.carlosrovira
> > > > {
> > > >
> > > > import org.apache.flex.events.Event;
> > <-----------------this 2
> > > > imports are not found
> > > > import org.apache.flex.events.EventDispatcher;
> > > >
> > > > public class Component extends EventDispatcher. <---and this
> extends
> > > > fails
> > > > {
> > > > public function Component()
> > > > {
> > > > }
> > > > }
> > > > }
> > > >
> > > >
> > > > 3.- I build flexJS with maven, and my plan is to use a pom.xml, but
> > > there's
> > > > a asconfig.json as well....maybe is too cumbersome to have 2 config
> > > > files....could this be integrated both?
> > > > (maybe there's some maven extension in vscode? that make it easy to
> run
> > > and
> > > > build...I'm too new to vscode yet! :))
> > > >
> > > > So far, as I said, amazing work! I think VSCode is now the best
> choice
> > > for
> > > > FlexJS development, not only for the fast progress, but for the
> > > > possibilities behind in few months.
> > > >
> > > > Hope you continue get donations to your work on Patreon.
> > > >
> > > > Best,
> > > >
> > > > --
> > > > Carlos Rovira
> > > > http://about.me/carlosrovira
> > > >
> > >
> >
> >
> >
> > --
> >
> > Carlos Rovira
> > Director General
> > M: +34 607 22 60 05
> > http://www.codeoscopic.com
> > http://www.avant2.es
> >
> >
> > Este mensaje se dirige exclusivamente a su destinatario y puede contener
> > información privilegiada o confidencial. Si ha recibido este mensaje por
> > error, le rogamos que nos lo comunique inmediatamente por esta misma vía
> y
> > proceda a su destrucción.
> >
> > De la vigente Ley Orgánica de Protección de Datos (15/1999), le
> comunicamos
> > que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> > S.A. La finalidad de dicho tratamiento es facilitar la prestación del
> > servicio o información solicitados, teniendo usted derecho de acceso,
> > rectificación, cancelación y oposición de sus datos dirigiéndose a
> nuestras
> > oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
> > necesaria.
> >
>
--
Carlos Rovira
Director General
M: +34 607 22 60 05
http://www.codeoscopic.com
http://www.avant2.es
Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si ha recibido este mensaje por
error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
proceda a su destrucción.
De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
S.A. La finalidad de dicho tratamiento es facilitar la prestación del
servicio o información solicitados, teniendo usted derecho de acceso,
rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
necesaria.
Re: [FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Posted by Josh Tynjala <jo...@gmail.com>.
Hey Carlos,
The "unknown configuration variable" error was actually a bug in asconfigc.
It was still trying to build a SWF. I guess I didn't test that path well
enough, since I don't use the FlexJS components. Update asconfigc, and it
should work now. Sorry about that!
- Josh
On Tue, Sep 27, 2016 at 2:53 PM, Carlos Rovira <
carlos.rovira@codeoscopic.com> wrote:
> Hi Josh,
>
> thanks for the responses:
>
> first, I try installing a Firefox VSCode debugger extension (Debugger for
> Firefox 0.6.4 by Holger Benl) ...don't know if this is correct.
> I add this in launch.json:
>
> {
> "name": "Launch Firefox against debug.html, with sourcemaps",
> "type": "firefox",
> "request": "launch",
> "file": "${workspaceRoot}/debug.html",
> "sourceMaps": true,
> "preLaunchTask": "asconfigc"
> }
>
> (but says sourceMaps line is not supported)
>
> Anyway, selecting this config, firefox opens with the app running exactly
> the same way as chrome, firefox stops not in Main but in a function called
> by a click in a text. So, all the same as chrome.
>
> For 3.- I changed to "config": "flex" and I get imports and extends working
> properly :)
> but adding js-output-type like this:
>
> {
> "config": "flex",
> "compilerOptions": {
> "debug": true,
> "source-map": true*,*
> * "js-output-type": "flexjs"*
> },
> "files":
> [
> "src/Main.as"
> ]
> }
>
> causes this compilation error:
>
> *command line*
> *Error: unknown configuration variable 'source-map'.*
>
>
> maybe is not correctly formulated?
>
> Regarding Maven, I'm talking with Chris about the config of a test project
> and I think I have to dig a bit more on this. I'll report If I investigate
> and find something useful.
>
> Thanks!
>
>
>
> 2016-09-27 19:36 GMT+02:00 Josh Tynjala <jo...@gmail.com>:
>
> > Awesome. Thanks for the feedback, Carlos!
> >
> > In one of the browser debuggers (either Chrome or Firefox), I couldn't
> get
> > a breakpoint to work in the constructor of the main class. Just like you
> > describe. Strangely, the main class constructor worked in the other
> > browser's debugger, and constructors from other classes were fine in
> both.
> > Since I saw that you tried using VSCode's Chrome debugging extension, it
> > must have been Firefox that worked properly with the main class
> > constructor.
> >
> > I don't really know why this happens. I kind of wonder if the source map
> > isn't fully loaded/parsed yet when the code starts running in Chrome. By
> > the time the click listener is called, everything is finished
> initializing,
> > I guess. That seemed like the most likely explanation to me.
> >
> > I think you can tell the debugger to pause immediately after starting, so
> > you might give that a try. If it works, let me know and I can make a note
> > of it somewhere.
> >
> > 1. This is correct. For the initial release, I focused on ActionScript
> > only. MXML probably isn't trivial, but hopefully the most challenging
> parts
> > of integrating with the compiler are already done, so it should be
> easier.
> >
> > 2. Only the main class for your app is all that's required in the "files"
> > field of asconfig.json. All dependencies will be detected by the
> compiler.
> > I just updated the description in the wiki to try to make that a little
> > more clear. I'll get the description in the JSON schema updated too.
> >
> > A little background. In most cases, people pass only one class into
> mxmlc,
> > but technically, it supports passing in multiple classes, with the final
> > one being considered the entry point. I think other classes that are
> passed
> > in are simply included, even if they aren't referenced. Probably so that
> > they can be found by reflection or something.
> >
> > VSCode supports a similar tsconfig.json for TypeScript, and it also
> allows
> > multiple files to be passed in (but it resolves dependencies too). To me,
> > it made sense to allow multiple files, even if it isn't commonly used. I
> > think this just needs clear documentation so that people understand that
> > they don't need to include every class that they use. Just the main one,
> > most of the time.
> >
> > 3. Which libraries from the SDK are included depends on which "config"
> > value you set in your asconfig.json. You probably want "config": "flex",
> > but there's one gotcha to watch out for. By default, both the extension
> and
> > asconfigc consider "config": "flex" to be a SWF project for Flash Player.
> > If you want to transpile to JS, and also use the FlexJS components,
> you'll
> > also need to specify the "js-output-type" compiler option (the value
> should
> > be "flexjs", I think?). This isn't ideal, but it's the best I could come
> up
> > with because FlexJS doesn't have separate config files for JS and Flash
> > Player (though, maybe it should...). I couldn't find a good way to do the
> > opposite and make JS the default. I guess a new top-level field in
> > asconfig.json could specify this, but I'm trying to keep extra
> > configuration in asconfig.json that isn't a real compiler option to a
> > minimum.
> >
> > 4. I'm not a Maven person. I would expect that you could set up Maven to
> > run an executable like asconfigc. However, I suspect that's not
> considered
> > the Maven way. Some kind of Maven plugin to parse asconfig.json and pass
> > the right arguments to the compiler (which is basically how asconfigc
> > works) might be closer to how a Maven person would expect this to work.
> >
> > asconfig.json follows the VSCode way of doing things. There is
> > tsconfig.json for TypeScript and jsconfig.json for JavaScript. I wanted
> to
> > follow the same pattern, if possible. I tried using the little-known
> trick
> > where mxmlc will try to load a -config.xml file if it matches the main
> > class file name (so for Main.as, it would try to load Main-config.xml, if
> > it exists), but it couldn't configure everything.
> >
> > - Josh
> >
> > On Tue, Sep 27, 2016 at 9:28 AM, Carlos Rovira <ca...@apache.org>
> > wrote:
> >
> > > Hi Josh,
> > >
> > > at last I could get all up and running with Visual Code and your
> > @NextGenAS
> > > extension, building and debgugging in Chrome. Pretty Amazing work! :)
> > >
> > > (just one thing, the break point worked in a click function, but not
> in a
> > > line of the main Main.as function, maybe source-maps doesn't work if
> the
> > > breakpoint is in the constructor?)
> > >
> > > Right now I'm figuring where to go from here:
> > >
> > > 1.- I thing I read somewhere that MXML is not supported yet in VSCODE,
> is
> > > this right?
> > >
> > > 2.- I must list all as files in asconfig.json? or we could give is a
> > folder
> > > (i.e: "src") ?
> > >
> > > 3.- I'm trying to make some basic import from org.apache but VSCode not
> > > recognize them:
> > >
> > > package com.carlosrovira
> > > {
> > >
> > > import org.apache.flex.events.Event;
> <-----------------this 2
> > > imports are not found
> > > import org.apache.flex.events.EventDispatcher;
> > >
> > > public class Component extends EventDispatcher. <---and this extends
> > > fails
> > > {
> > > public function Component()
> > > {
> > > }
> > > }
> > > }
> > >
> > >
> > > 3.- I build flexJS with maven, and my plan is to use a pom.xml, but
> > there's
> > > a asconfig.json as well....maybe is too cumbersome to have 2 config
> > > files....could this be integrated both?
> > > (maybe there's some maven extension in vscode? that make it easy to run
> > and
> > > build...I'm too new to vscode yet! :))
> > >
> > > So far, as I said, amazing work! I think VSCode is now the best choice
> > for
> > > FlexJS development, not only for the fast progress, but for the
> > > possibilities behind in few months.
> > >
> > > Hope you continue get donations to your work on Patreon.
> > >
> > > Best,
> > >
> > > --
> > > Carlos Rovira
> > > http://about.me/carlosrovira
> > >
> >
>
>
>
> --
>
> Carlos Rovira
> Director General
> M: +34 607 22 60 05
> http://www.codeoscopic.com
> http://www.avant2.es
>
>
> Este mensaje se dirige exclusivamente a su destinatario y puede contener
> información privilegiada o confidencial. Si ha recibido este mensaje por
> error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
> proceda a su destrucción.
>
> De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
> que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> S.A. La finalidad de dicho tratamiento es facilitar la prestación del
> servicio o información solicitados, teniendo usted derecho de acceso,
> rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
> oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
> necesaria.
>
Re: [FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Posted by Carlos Rovira <ca...@codeoscopic.com>.
Hi Josh,
thanks for the responses:
first, I try installing a Firefox VSCode debugger extension (Debugger for
Firefox 0.6.4 by Holger Benl) ...don't know if this is correct.
I add this in launch.json:
{
"name": "Launch Firefox against debug.html, with sourcemaps",
"type": "firefox",
"request": "launch",
"file": "${workspaceRoot}/debug.html",
"sourceMaps": true,
"preLaunchTask": "asconfigc"
}
(but says sourceMaps line is not supported)
Anyway, selecting this config, firefox opens with the app running exactly
the same way as chrome, firefox stops not in Main but in a function called
by a click in a text. So, all the same as chrome.
For 3.- I changed to "config": "flex" and I get imports and extends working
properly :)
but adding js-output-type like this:
{
"config": "flex",
"compilerOptions": {
"debug": true,
"source-map": true*,*
* "js-output-type": "flexjs"*
},
"files":
[
"src/Main.as"
]
}
causes this compilation error:
*command line*
*Error: unknown configuration variable 'source-map'.*
maybe is not correctly formulated?
Regarding Maven, I'm talking with Chris about the config of a test project
and I think I have to dig a bit more on this. I'll report If I investigate
and find something useful.
Thanks!
2016-09-27 19:36 GMT+02:00 Josh Tynjala <jo...@gmail.com>:
> Awesome. Thanks for the feedback, Carlos!
>
> In one of the browser debuggers (either Chrome or Firefox), I couldn't get
> a breakpoint to work in the constructor of the main class. Just like you
> describe. Strangely, the main class constructor worked in the other
> browser's debugger, and constructors from other classes were fine in both.
> Since I saw that you tried using VSCode's Chrome debugging extension, it
> must have been Firefox that worked properly with the main class
> constructor.
>
> I don't really know why this happens. I kind of wonder if the source map
> isn't fully loaded/parsed yet when the code starts running in Chrome. By
> the time the click listener is called, everything is finished initializing,
> I guess. That seemed like the most likely explanation to me.
>
> I think you can tell the debugger to pause immediately after starting, so
> you might give that a try. If it works, let me know and I can make a note
> of it somewhere.
>
> 1. This is correct. For the initial release, I focused on ActionScript
> only. MXML probably isn't trivial, but hopefully the most challenging parts
> of integrating with the compiler are already done, so it should be easier.
>
> 2. Only the main class for your app is all that's required in the "files"
> field of asconfig.json. All dependencies will be detected by the compiler.
> I just updated the description in the wiki to try to make that a little
> more clear. I'll get the description in the JSON schema updated too.
>
> A little background. In most cases, people pass only one class into mxmlc,
> but technically, it supports passing in multiple classes, with the final
> one being considered the entry point. I think other classes that are passed
> in are simply included, even if they aren't referenced. Probably so that
> they can be found by reflection or something.
>
> VSCode supports a similar tsconfig.json for TypeScript, and it also allows
> multiple files to be passed in (but it resolves dependencies too). To me,
> it made sense to allow multiple files, even if it isn't commonly used. I
> think this just needs clear documentation so that people understand that
> they don't need to include every class that they use. Just the main one,
> most of the time.
>
> 3. Which libraries from the SDK are included depends on which "config"
> value you set in your asconfig.json. You probably want "config": "flex",
> but there's one gotcha to watch out for. By default, both the extension and
> asconfigc consider "config": "flex" to be a SWF project for Flash Player.
> If you want to transpile to JS, and also use the FlexJS components, you'll
> also need to specify the "js-output-type" compiler option (the value should
> be "flexjs", I think?). This isn't ideal, but it's the best I could come up
> with because FlexJS doesn't have separate config files for JS and Flash
> Player (though, maybe it should...). I couldn't find a good way to do the
> opposite and make JS the default. I guess a new top-level field in
> asconfig.json could specify this, but I'm trying to keep extra
> configuration in asconfig.json that isn't a real compiler option to a
> minimum.
>
> 4. I'm not a Maven person. I would expect that you could set up Maven to
> run an executable like asconfigc. However, I suspect that's not considered
> the Maven way. Some kind of Maven plugin to parse asconfig.json and pass
> the right arguments to the compiler (which is basically how asconfigc
> works) might be closer to how a Maven person would expect this to work.
>
> asconfig.json follows the VSCode way of doing things. There is
> tsconfig.json for TypeScript and jsconfig.json for JavaScript. I wanted to
> follow the same pattern, if possible. I tried using the little-known trick
> where mxmlc will try to load a -config.xml file if it matches the main
> class file name (so for Main.as, it would try to load Main-config.xml, if
> it exists), but it couldn't configure everything.
>
> - Josh
>
> On Tue, Sep 27, 2016 at 9:28 AM, Carlos Rovira <ca...@apache.org>
> wrote:
>
> > Hi Josh,
> >
> > at last I could get all up and running with Visual Code and your
> @NextGenAS
> > extension, building and debgugging in Chrome. Pretty Amazing work! :)
> >
> > (just one thing, the break point worked in a click function, but not in a
> > line of the main Main.as function, maybe source-maps doesn't work if the
> > breakpoint is in the constructor?)
> >
> > Right now I'm figuring where to go from here:
> >
> > 1.- I thing I read somewhere that MXML is not supported yet in VSCODE, is
> > this right?
> >
> > 2.- I must list all as files in asconfig.json? or we could give is a
> folder
> > (i.e: "src") ?
> >
> > 3.- I'm trying to make some basic import from org.apache but VSCode not
> > recognize them:
> >
> > package com.carlosrovira
> > {
> >
> > import org.apache.flex.events.Event; <-----------------this 2
> > imports are not found
> > import org.apache.flex.events.EventDispatcher;
> >
> > public class Component extends EventDispatcher. <---and this extends
> > fails
> > {
> > public function Component()
> > {
> > }
> > }
> > }
> >
> >
> > 3.- I build flexJS with maven, and my plan is to use a pom.xml, but
> there's
> > a asconfig.json as well....maybe is too cumbersome to have 2 config
> > files....could this be integrated both?
> > (maybe there's some maven extension in vscode? that make it easy to run
> and
> > build...I'm too new to vscode yet! :))
> >
> > So far, as I said, amazing work! I think VSCode is now the best choice
> for
> > FlexJS development, not only for the fast progress, but for the
> > possibilities behind in few months.
> >
> > Hope you continue get donations to your work on Patreon.
> >
> > Best,
> >
> > --
> > Carlos Rovira
> > http://about.me/carlosrovira
> >
>
--
Carlos Rovira
Director General
M: +34 607 22 60 05
http://www.codeoscopic.com
http://www.avant2.es
Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si ha recibido este mensaje por
error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
proceda a su destrucción.
De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
S.A. La finalidad de dicho tratamiento es facilitar la prestación del
servicio o información solicitados, teniendo usted derecho de acceso,
rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
necesaria.
Re: [FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Posted by Josh Tynjala <jo...@gmail.com>.
Awesome. Thanks for the feedback, Carlos!
In one of the browser debuggers (either Chrome or Firefox), I couldn't get
a breakpoint to work in the constructor of the main class. Just like you
describe. Strangely, the main class constructor worked in the other
browser's debugger, and constructors from other classes were fine in both.
Since I saw that you tried using VSCode's Chrome debugging extension, it
must have been Firefox that worked properly with the main class constructor.
I don't really know why this happens. I kind of wonder if the source map
isn't fully loaded/parsed yet when the code starts running in Chrome. By
the time the click listener is called, everything is finished initializing,
I guess. That seemed like the most likely explanation to me.
I think you can tell the debugger to pause immediately after starting, so
you might give that a try. If it works, let me know and I can make a note
of it somewhere.
1. This is correct. For the initial release, I focused on ActionScript
only. MXML probably isn't trivial, but hopefully the most challenging parts
of integrating with the compiler are already done, so it should be easier.
2. Only the main class for your app is all that's required in the "files"
field of asconfig.json. All dependencies will be detected by the compiler.
I just updated the description in the wiki to try to make that a little
more clear. I'll get the description in the JSON schema updated too.
A little background. In most cases, people pass only one class into mxmlc,
but technically, it supports passing in multiple classes, with the final
one being considered the entry point. I think other classes that are passed
in are simply included, even if they aren't referenced. Probably so that
they can be found by reflection or something.
VSCode supports a similar tsconfig.json for TypeScript, and it also allows
multiple files to be passed in (but it resolves dependencies too). To me,
it made sense to allow multiple files, even if it isn't commonly used. I
think this just needs clear documentation so that people understand that
they don't need to include every class that they use. Just the main one,
most of the time.
3. Which libraries from the SDK are included depends on which "config"
value you set in your asconfig.json. You probably want "config": "flex",
but there's one gotcha to watch out for. By default, both the extension and
asconfigc consider "config": "flex" to be a SWF project for Flash Player.
If you want to transpile to JS, and also use the FlexJS components, you'll
also need to specify the "js-output-type" compiler option (the value should
be "flexjs", I think?). This isn't ideal, but it's the best I could come up
with because FlexJS doesn't have separate config files for JS and Flash
Player (though, maybe it should...). I couldn't find a good way to do the
opposite and make JS the default. I guess a new top-level field in
asconfig.json could specify this, but I'm trying to keep extra
configuration in asconfig.json that isn't a real compiler option to a
minimum.
4. I'm not a Maven person. I would expect that you could set up Maven to
run an executable like asconfigc. However, I suspect that's not considered
the Maven way. Some kind of Maven plugin to parse asconfig.json and pass
the right arguments to the compiler (which is basically how asconfigc
works) might be closer to how a Maven person would expect this to work.
asconfig.json follows the VSCode way of doing things. There is
tsconfig.json for TypeScript and jsconfig.json for JavaScript. I wanted to
follow the same pattern, if possible. I tried using the little-known trick
where mxmlc will try to load a -config.xml file if it matches the main
class file name (so for Main.as, it would try to load Main-config.xml, if
it exists), but it couldn't configure everything.
- Josh
On Tue, Sep 27, 2016 at 9:28 AM, Carlos Rovira <ca...@apache.org>
wrote:
> Hi Josh,
>
> at last I could get all up and running with Visual Code and your @NextGenAS
> extension, building and debgugging in Chrome. Pretty Amazing work! :)
>
> (just one thing, the break point worked in a click function, but not in a
> line of the main Main.as function, maybe source-maps doesn't work if the
> breakpoint is in the constructor?)
>
> Right now I'm figuring where to go from here:
>
> 1.- I thing I read somewhere that MXML is not supported yet in VSCODE, is
> this right?
>
> 2.- I must list all as files in asconfig.json? or we could give is a folder
> (i.e: "src") ?
>
> 3.- I'm trying to make some basic import from org.apache but VSCode not
> recognize them:
>
> package com.carlosrovira
> {
>
> import org.apache.flex.events.Event; <-----------------this 2
> imports are not found
> import org.apache.flex.events.EventDispatcher;
>
> public class Component extends EventDispatcher. <---and this extends
> fails
> {
> public function Component()
> {
> }
> }
> }
>
>
> 3.- I build flexJS with maven, and my plan is to use a pom.xml, but there's
> a asconfig.json as well....maybe is too cumbersome to have 2 config
> files....could this be integrated both?
> (maybe there's some maven extension in vscode? that make it easy to run and
> build...I'm too new to vscode yet! :))
>
> So far, as I said, amazing work! I think VSCode is now the best choice for
> FlexJS development, not only for the fast progress, but for the
> possibilities behind in few months.
>
> Hope you continue get donations to your work on Patreon.
>
> Best,
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>