Suggestions for future revisions of Studio

DHawthorneDHawthorne Junior MemberPosts: 4,584
I'm sure others have their own pet issues, here are mine :).

1) Make bookmarks persistent; save them with the workspace. While you are at it, number them so you can go to a specific one intead of cycling through them in order.

2) Add a specific event "Go To" similar to the Call/Function one. A complex program has an awful lot of events, and just being able to jump to the first one in the section is not as helpful as it could be. The current workaround is to collapse the event tree so you can pick a single one out, but this is awkward, especially in light of the existing collapse/expand glitches.

3) Override the OCX class for the toolbars so positioning can be saved and restored when the window is minimized, or display settings changed. It irritates the heck out of me to have to re-drag all my tool bars back to where I like them every time I switch from my dual-monitor docked setup to the mobile one and back again. I understand this is a Windows problem, but I have overridden pre-packaged Windows classes in my own programs, you don't have to stick yourself with Windows flaws.
«13456712

Comments

  • GSLogicGSLogic Junior Member Posts: 562
    I'd like to see LOCAR_VAR's become accessible in all event handlers in an event. As of now if you setup a LOCAL_VAR in a PUSH event you can NOT use that value in that button event handlers RELEASE or HOLD. It should be accessible to that BUTTON EVENT's event handlers (PUSH, RELEASE and HOLD).
  • Marc ScheibeinMarc Scheibein Junior Member Posts: 669
    GSLogic wrote:
    I'd like to see LOCAR_VAR's become accessible in all event handlers in an event. As of now if you setup a LOCAL_VAR in a PUSH event you can NOT use that value in that button event handlers RELEASE or HOLD. It should be accessible to that BUTTON EVENT's event handlers (PUSH, RELEASE and HOLD).

    I'm also dreaming of some kind of EVENT_VAR ....

    BUTTON_EVENT[dvPANEL,2]
    {
    EVENT_VAR INTEGER nHaveFun
    PUSH:{}
    RELEASE:{}
    HOLD[10]:{}
    }

    That would be great....
  • GSLogicGSLogic Junior Member Posts: 562
    Marc

    That's what I was tring to say! You just said it much better, thanks!
  • Reese JacobsReese Jacobs Junior Member Posts: 339
    Suggestions for future revisions of Studio

    Regarding Studio enhancements, I agree with Dave on his suggestion concerning the bookmarks. Bookmarks are a great feature but would be made much more usable if the suggestions proposed by Dave were adopted.

    Also, Studio 1.x used to have a feature where a Tab was available in the Workspace window that would display the list of compiled devices. This was available along with the Workspace and Online Tree tabs and provided an easy way to see what devices Studio had compiled into the project. In Studio 2, this tab was removed and the only way to see compiled devices is to navigate to a device mapping window. The Device tab was a great way to see all of your compiled devices in one place particularly to check on duplicates or other device related errors. I would like to see this Tab added back to Studio 2.x.

    The most recent suggestion regarding EVENTs and event specific variables (perhaps a Netlinx language and not a Studio enhancement) is also a good one. I would like to augment this request with one that would extend the syntax and capability of a TIMELINE_EVENT. I would love to have the ability to store application specific data in a TIMELINE specific data structure (part of the TIMELINE_CREATE for instance) such that when the TIMELINE is triggered, the data could be obtained and used/evaluated in the TIMELINE. The alternative today is to declare global variables (even arrays of them) and to access them using the TIMELINE_IDs. I would like a more object oriented approach that would allow application specific data to be passed to the TIMELINE event handler and accessed using the TIMELINE data structure.

    Thanks for listening ....

    Reese
  • HARMAN_icraigieHARMAN_icraigie Technical Trainer II, Harman Professional University Posts: 442
    I second the listing of compiled devices, especially with the Virtual Devices and large projects when the total number of devices can number into the hundreds (and ports into the 1000's).
  • mediapilotincmediapilotinc Junior Member Posts: 82
    My list of items not mentioned already:

    1) Another nice one would be to expand the Expand/Collapse to the Define_Program section. Collapse to the line showing the PUSH or RELEASE statement. This of course is handy when supporting the older Axcess systems (plenty of them out there and more are added every day).

    2) Ability to upload a panel file while the file is open in TPD4. Sending from TPD4 does not always work too well when you try and upload via the web, and it's a pain to constantly have to close and re-open the panel file.

    3) Syntax highlighting for CALL names just like the recently added FUNCTION names.

    4) Add a button to fully open the workspace tree to all levels and open all listed source files. Now it takes at least 3 clicks and a double click to open the Source file. Make sure it also hides the output window. Oh, and by default maximize those files in the editor window please.

    5) Fix the Save All to be able to save without the need to open a source/include/module file. Handy when all you only need to change the communication settings.

    6) Make it easier to initialize a new system. Maybe add a wizard that walks you through the DPS, IP, URL and other settings so it is easier for non-programmers to set up a system in the field. The wizard should suggest using the same settings the programmer had specified in the workspace.

    7) Extend the wizard to initialize touchpanels and other devices as well.
  • RicardoSiqueiraRicardoSiqueira Junior Member Posts: 373
    Netlinx Studio Suggestions

    Print code in color would be a nice feature. I don't remember which version of Studio that allowed color printing. I usually print the DEFINE_DEVICE section of my main code and pass it on to the installers. A color printout would be easier to see. Also code section printed in color is easier to review and troubleshoot.
  • annuelloannuello Junior Member Posts: 294
    Netlinx Studio suggestion

    I'd like to see the syntax hilighting being applied to module parameters. Given that the editor does this on the fly for items in the DEFINE sections, it may be able to be extended to look at module parameter types, and adjust the hilighting color accordingly.

    I second the request for color printing.
  • Reese JacobsReese Jacobs Junior Member Posts: 339
    Suggestions for future revisions of Studio

    I second the request for color highlighting of module parameters throughout the module.

    Additionally, I would like to see the color highlighting of Structure elements (DEFINE_TYPE) cleaned up. Currently, anything referenced (not necessarily defined) within a DEFINE_TYPE is color highlighted according to the preferences for the Structure type. In other words, if you reference a CONSTANT in a Structure definition, the constant is later highlighted the same as the Structure. This is true for certain other items as well and needs to be cleaned up so that the color highlighting remains consistent with the user preferences.

    Lastly, I would like to see some sort of intelligent 'diff' tool in Studio that can be used to compare side-by-side Axs and Axi files for differences. Something akin to the smart Unix line-by-line diff tool would be nice for comparing versions of the same file to determine source file differences.
  • maxifoxmaxifox Junior Member Posts: 209
    window split

    Looking for having "Window split" option...
  • FrankieFrankie Junior Member Posts: 71
    maxifox wrote:
    Looking for having "Window split" option...

    I think I remember seeing something about that in one of the AMX Newsletters. You may can already do that?
  • Marc ScheibeinMarc Scheibein Junior Member Posts: 669
    Frankie wrote:
    I think I remember seeing something about that in one of the AMX Newsletters. You may can already do that?

    Menu
    WINDOW/TILE WINDOWS HORIZONTALLY
    WINDOW/TILE WINDOWS VERTICALLY
  • Chip MoodyChip Moody Junior Member Posts: 727
    Tile and split aren't the same thing, but I thought I saw/heard splits (ala Excel) mentioned myself...
  • alexanboalexanbo Junior Member Posts: 282
    Well you can open two windows with the same file and just scroll to different parts which kind of gives you the tile effect depending on how big you make the windows and such.
  • amxhobbyistamxhobbyist Junior Member Posts: 90
    Here's a minor one I've seen mentioned elsewhere (not in this thread that I noticed) that I fully agree with: No autocomplete on comments!! Typing comments is difficult with autocomplete jumping in constantly.
  • Reese JacobsReese Jacobs Junior Member Posts: 339
    Suggestions for future revisions of Studio

    I would like to add a requested bug fix to the list:

    As part of a Project Export, there is a checkbox that allows you to export as part of the project all of the module files not contained in the project. For programmers that use TKO search paths and common TKO module repositories, this is a handy way to make sure that the project contains all of the necessary files in case the target system does not contain them. However, Studio will only export those module files whose DEFINE_MODULE is specified in a Main program file. If a module file is defined within another module, that module is not exported as part of the workspace or project. I would like to see Studio capable of exporting all modules without regard to where the DEFINE_MODULE calls are located in the PROGRAM and MODULE files of the workspace. We discovered this problem when exporting a workspace in which several custom-built modules that included AMX modules failed to export the included module files as part of the workspace.
  • DHawthorneDHawthorne Junior Member Posts: 4,584
    Actually, Studio has a few issues with includes and modules, and not tracking things that aren't in the main code. I have a set of standard constants, for example, that I use in nearly every project as an include; the projects compile and run fine, but those constants never appear in autocomplete, and the syntax highlighter treats tem as unknown. I also like to put my support variables, and even my DEFINE_MODULE statements in an include file for my modules, so I can switch them around, and turn them on and off just by commenting an include line. The same limitations apply.
  • Spire_JeffSpire_Jeff Formerly Caffeinated Programmer Posts: 1,917
    As I have accidentally clicked the wrong system and wrong files while working on a large multi-location/multi-processor job in which I also added the original code for reference, I was thinking it would be nice to be able to LOCK systems and even individual files in the UI. This would prevent saving, editing, and autosaving of the locked file. (It could even go as far as setting the OS READ ONLY Flag on the file to prevent other programs from making changes (like TPDesign4).

    Another thing that I thought I saw posted in some form, but was unable to locate is the ability to display Device definitions in the system. The ability to do this is already available (Device assignment), but I would like to be able to sort that list by device number or alphabetically by clicking the appropriate column header.


    Some more requests as I continue to code:
    - GET_LAST should suggest an autocompletion with the Device array (and the Channel Array if applicable) when being used within an EVENT.
    - Add the ability to Collapse CASEs, ACTIVEs and EVENT Specifiers (PUSH:, ONLINE:, ...)


    Jeff
  • Thomas HayesThomas Hayes Junior Member Posts: 1,164
    Not for studio but TP4, a way to view and remove all un-used icons from the folder. This would help to clear up some memory as well and save you time by not having to view a lot of icons and check if you used them or not.
  • Stephen BoltonStephen Bolton Junior Member Posts: 345
    One little issue that bugs me is regarding the TCP/IP settings box.

    If you create an entry and call it, say, Ford 192.168.1.101, you cannot create another entry using that IP address - ie GM 192.168.1.101.

    It gripes me a bit that I have to sit in, say, the GM boardroom and connect to the master using an entry call Ford!

    TPD4 allows it, so it can be done!

    Multiple identical address listings with different friendly names associated with them please!
  • Spire_JeffSpire_Jeff Formerly Caffeinated Programmer Posts: 1,917
    One little issue that bugs me is regarding the TCP/IP settings box.

    If you create an entry and call it, say, Ford 192.168.1.101, you cannot create another entry using that IP address - ie GM 192.168.1.101.

    It gripes me a bit that I have to sit in, say, the GM boardroom and connect to the master using an entry call Ford!

    TPD4 allows it, so it can be done!

    Multiple identical address listings with different friendly names associated with them please!

    I believe this is one problem that is already fixed. Take a look at the post about beta testing the new studio.

    Jeff
  • roognationroognation Junior Member Posts: 138
    Netlinx Studio Feature Request

    Device Mapping:

    When poring over a few hundred devices, it would be nice to be able to sort on the device number or name and then "walk" to the selection (type the first few letters, and you're there).
  • REBUILD_EVENTREBUILD_EVENT Junior Member Posts: 127
    i need compiler warnings and better error messages.

    when i try to compare IntArray[]==Integer i get nothing even though it makes no sense at all. this one took me half an afternoon.

    we never initialize a char array in define_variable, but in define_start.i don't know the reason, but i suppose, there were problems with that. then max_length_array instead of length_array has to be used...
  • B_ClementsB_Clements Senior Member Posts: 513
    Enhanced Diagnostics?

    Any suggestions for improving debugging and diagnostics would be appreciated.

    Here are a suggestion to get the discussion started.

    How about list box for each type of device/port Send_Command that would be found in Software History/Product Information. This would eliminate the need to find and manually enter common commands such setting the baud rate on a com port.
  • joelwjoelw Junior Member Posts: 175
    Wildcards in Find and Find/Replace

    It would be great to have the ability to use a wildcard character when doing a Find or Find/Replace.
  • fogled@mizzou[email protected] h4x354x0r Posts: 546
    Array Index function

    Like GET_ARRAY_INDEX(array,value) - would work just like GET_LAST when using an array in a button event, but could be called anywhere. Would return position of "value" in "array" or 0 if not found in array. Limit to single-dim arrays is fine.
  • jjamesjjames AMX Sustaining Engineer Posts: 2,898
    I think I've mentioned this elsewhere here on the board, I'd love to have a warning on unused variables. I thought this was a "feature" in an older NS, but I'm not sure.

    A few other things I've mentioned before:
    1) Code beautifier
    2) Include file variable tracking / highlighting / autocomplete in main code and vice verse
    3) Integrated IR command listings (the ability to see what commands are in what files rather than having two programs open.)

    I would really like to see NS take on the roll of more than just a code editor. It would be nice if you could edit TP, KP, and IR files all in one program.
  • yuriyuri Junior Member Posts: 861
    unused variables can work for the Axcess compiler :)

    furthermore, i would like to see (device/devchan) Tab Completion in modules...
  • travtrav Get off my lawn Posts: 188
    The ability to create macros

    especially useful if you do lots of DEFINE and IF DEFINED statements.

    I'd use them alot more if the repetitious code block could somehow be put into a macro of ctrl-alt-**** something.
  • jjamesjjames AMX Sustaining Engineer Posts: 2,898
    trav wrote:
    The ability to create macros
    YES! YES!

    AMX should seriously look at UEStudio, it has many of the functions that NS lacks and that has bee suggested here. I'm in fact trying / tinkering with custom syntax highlighting for that program so I could use UEStudio as my primary NetLinx compiler / editor.
Sign In or Register to comment.