1 Reply Latest reply on Apr 7, 2010 3:32 AM by Adam Cameron.

    Code assist: where does CFB source its list of available components from?

    Adam Cameron. Level 5

      G'day:

      When I'm entering a returntype for a method, code assist offers a list of all primitive datatypes, but if I start typing my own value it matches this against a list of components in my project.  Well: some of the components in my project.  And - somewhat annoyingly - not the ones in the directory most of my components are in.

       

      So where does it source its list from?  I'm seeing components listed from directories adjacent (ie: same parent as the one my current file is in), subdirectories of those adjacent ones, ancestor ones; but nothing in the subtree my current file is in, eg: other CFCs in the same dir as this file, or subdirectories of the directory my file is in.  Initially I thought it might be because I started typing the full path from the CF root, and rather than expecting "com.mycompany.myapp.package.MyOtherComponent", it was just listing "MyOtherComponent", but no.

       

      My dir structure is this:

       

      / <- CF webroot as set with a / mapping in jrun-web.xml (actual dir is C:\webroots\myInstance, whereas the CF context root is actually C:\Adobe\JRun4\servers\myInstance\cfusion-ear\cfusion-war)

      /com/mycompany/myapp (everything below is in this)

      [..]/components

      [..]/components/Foo.cfc

      [..]/components/Bar.cfc

      [..]/components/managers

      [..]/components/managers/NotThis.cfc

      [..]/components/properties

      [..]/components/properties/OrThis.cfc

      [..]/subapps

      [..]/subapps/appname/components/ButThisIs.cfc

      [..]/site

      [..]/site/Application.cfc

      [..]/site/AsAreTheseTwo.cfc

       

      My CFB project is in C:\Users\adam.cameron\Adobe ColdFusion Builder workspace, and I have linked the /com dir above into it.

       

      I'm currently editing Bar.cfc, and one of its methods returns a com.mycompany.myapp.component.Foo.  And indeed its init() method returns a com.mycompany.myapp.component.Bar.  But neither of these CFCs are offered when I start typing "com.".  Nor is NotThis.cfc or OrThis.cfc.  All the CFCs like ButThisIs.cfc and AsAreTheseTwo.cfc are listed.

       

      If I do the same thing in AsAreTheseTwo.cfc, then I don't get that CFC or Application.cfc listed as an option.  So it seems the list always omits the current dir subtree.

       

      So what's the story there?  Bug?  Misunderstanding of something on my part?

       

      --

      Adam

        • 1. Re: Code assist: where does CFB source its list of available components from?
          Adam Cameron. Level 5

          Whoa... OK... so after a while (it's now half an hour later) the dropdown is listing everything.  So perhaps it's just erratic.

           

          I could perhaps understand if the CFC to which I was wanting to refer was a newish one which was created since the last time the server settings were built, but the CFC in question was pretty much the first file I added to the project, and has been in place for over a week.  And all the server settings rebuild boxes are checked, so there's no way CFB should be unaware of this.

           

          --
          Adam