Community nugget: Code Capture Tool 2.0

When the snippet feature was introduced in 2009, some people thought that this would be the end of the Code Capture Tool (CCT).
Well, they were wrong. It's back. Bigger, better and cooler.
For those who don't know the CCT, it's a small utility which you can use to make screenshots of LabVIEW code, either for sharing or for documentation. You can see here  for more details.
For those who already know it, now's the time to introduce the new features. The following video shows them nicely, but to recap:
The CCT now supports creating snippets (in any version from 7.0 and up).
The snippets themselves will only be usable in LV 2009 or later.
You can now add annotations and sketches in the preview window.
This will allow you to draw attention to specific parts of the code.
Here's a video demonstrating the new (version 2.0) features: the video might take a while to load but it's worth the time
You can download the Code Capture Tool 2.0 at LAVA.
Here are a series of videos on the CCT (1.0 and 2.0).
Have fun,
Yair and Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!

Here are some captures with these version, showing both the annotations and snippet features:
 A capture with LabVIEW 2009 with an annotation.
A capture (no snippet) with annotations and arrow pointers
A capture created with  LabVIEW 7.0
A snippet with annotation.
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!

Similar Messages

  • Community Nugget 5-Mar-2007

    Type Definitions Let You See Your Application in a Different Way
    “THE ESSENCE OF TYPE DEFINITIONS IS THAT IF THE TYPE DEFINITION IS CHANGED ALL "MEMBERS" WILL CHANGE THE SAME WAY.” (Albert Geven LabVIEW Champion )
    Type definitions are a wonderful yet under utilized feature of LabVIEW. They allow you to manage the data types of your application in controlled manner.
    Type_Defs.png
     In large applications they can save you hours of work. I have had the opportunity to work on large applications developed without type definitions. These opportunities are seldom quick and easy to change. I have found it to be well worth the time and effort (both of which were considerable) to introduce type definitions as the first step in modifying an existing application. If your application has more than one sub-VI, your application will probably benefit from the use of type definitions.
    Type definitions (type def’s) are implemented in LabVIEW as custom controls. Type def’s allow you define the data types*** used by your application. Once a type def is defined and used on a front panel or block diagram, LabVIEW will ensure that all instances of that type def remain consistent with the definition. This means that if you edit a typed definition and save the changes, every place where that type def is used will be updated automatically. This is particularly useful in the case of enums when they are used to drive action engines**** or state machines.
    Through the use of clusters, you can establish a hierarchy for your data if appropriate. As shown in Hierarchy1.png the hierarchy screen offers a button to control the visibility of type definitions used by your application. By using Type definitions consistently throughout an application a developer can easily determine which VI’s will be affected by a change to one of them.
    Hierarchy1.png
    In the case of the Demo shown above, we can see that the top level VI “Demo” needs to know about changes to the action provided by the sub-VI “Caller”. We also see that changes to the “Chan Name” (Channel Name) data type affect the definition of the “Chan Info” (Channel Information) type definition as well as the “Caller” but they do not affect the top level VI “Demo”.
    We can determine all of the above without ever opening up the diagrams of any of the VI’s or type definitions. This is made more descriptive by editing the icons of the type definitions. The process is quick and easy.
    You start by opening the control editor
    Customize.PNG
    ... and choosing “type def” before saving the control as a unique name.
    You can then open the default icon and select most of the default icon’s image
    Select existing image.PNG
    And slide it down to the left.
    Slide down n left.PNG
    Which gives me plenty of room to add text.
    Structure Name.png
    Since the icons retain the native LabVIEW look it is clear which objects on the hierarchy screen are type definitions. I have for the largest applications taken the time to add graphic that represent the data defined by the type def. This becomes very helpful to pick out the data type you are after from hundreds of VI on the screen.
    View Data Hierarchy.png
    In the application hierarchy screen snippet above I have illustrated how type definitions are very helpful when investigating how a possible type definition change can affect an application. The VI hierarchy screen, when used with type def’s becomes a “data definition hierarchy screen”. Looking at all of the VI in a type def’s hierarchy tells you which high level functions could be affected by changes. The callers tell you the VI’s that need special attention and will adapt to changes in the typed definition. In the case above, we can see (well I can because I can do a little scrolling) that of the 700+ VI used by the application, there are only 10 that use the definition (I shudder at the thought of trying to do this same analysis without type def’s.  ).
    To get the hierarchy snippet I presented above I located** a top-level type def. By “top Level type def” I mean a type def that is not a member of any other type def. Once I located the icon for Equipment Group type def, I was able to right-click and choose Show VI Hierarchy
    Show VI Hierachy.PNG
    Followed by a right-click Highlight connections
    Highlight Connections.PNG
    Summary
    Type definitions allow data structures to be defined and maintained across an application. Enums and clusters use benefit from being used as type def’s. The VI Hierarchy screen includes the option to view or omit type definitons. Consistent icon usage for type def’s makes it easier to find them in large applications. The hierarchy of type def’s define data dependencies.
    Closing
    I hope the above observations on type definition creation, use, and their power to be useful. I’d also love to hear about
    1) How you have used type def’s to your advantage?
    2) How you go about organizing your data structures?
    3) What features of type def’s have I omitted?
    If you have a Nugget you would like to present please post here to reserve your week!
    A list of all Nuggets can be found here .
     Ben
    Notes
    * Warning: changes to application containing hundreds of VI and were not developed using type def’s should be left to professionals. This kind of work has lot in common trying to remodel a house of cards. Every move must be done with great care and you should be not surprised if the entire enterprise comes crashing to the floor. In short, do NOT try this trick at home.
    ** You will find that if you use type definition s in your applications they will end up decorating the bottom edges of your hierarchy.
    *** Type def’s define the data type and not the default values. You cannot use type def’s to establish default values. If you modify a type def that is used as constant on a diagram, all instances of that type def will be replaced with new instances. Default values that were saved in the block diagram will be lost when the constant is replaced with the new definition. This is by design. The method I suggest for establishing a default value is to use a sub-VI to explicitly define the value. In the case of clusters use a bundle by name node to set the fields as required. In the attached 7.1 example you will find
    Type_defd_Constants
    Where I have illustrate the use of sub-VI’s to establish default values. In the example, there are two sets of default values of the type definition “Chan Info” (Channel Information) denoted by the green and grayed-out icons.
    Documented_Constants
    The sub-VI documentation also helps future developers of the application pick-out the proper default settings.
    **** The attached example includes a simple example of an action engine. Stay tuned for a future Nugget where we may discuss action engines.
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Code.zip ‏109 KB

    My recent project involving TypeDefs and 'constant' VIs is about XML creation:
    Where the red 'dot' is a formatter constant with the following content:
    <%1$s>
    %2$s
    </%1$s>
    By using a enum for the XML-tag I can avoid mistypes since XML is case sensitive
    Using 1$s allows me to reuse the first input twice
    And if I need to change the tag-creation I can edit my constant VI.
    Ton
    Message Edited by TonP on 03-05-2007 09:13 AM
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!
    Attachments:
    ChartLocations.xctl_KML_Core.png ‏1 KB

  • Code Review Tool - Ignore Whitespace

    When I view the comparison in the code review tool ignore whitespace is on by default. The problem is that it doesn't ignore all whitespace. For example, a method's parameters prior to the change had a space between the start and end of the parameter definition
    but after changes the auto format of visual studio is different by removing the spaces (different user preference).The code review tool see's this as a difference. Why is that? 
    Before:
    public class test
    public TestMethod( string testString )
    After
    public class test
    public TestMethod(string testString)
    This is very frustrating because the very nice visual difference bar to the right of the code comparison becomes useless in these situations. 

    Hi Zpittman,
    What is you said ‘Code Review Tool’?
    I assume that you meant the Code Review feature in TFS. I tried it in Visual Studio 2013 with update 4 and TFS 2013 with Update 4, the whitespace was detected and the code review see it as a difference.
    If you don’t get the same result with me using VS and TFS, please upgrade your VS and TFS to the latest update.
    If the issue still exists, please
    reset your VS settings through Tools->Import and Export settings->Reset all
    settings->…. and repair your VS.
    If code review tool is a third-party tool or a third-party VS/TFS add-in, the official support of this tool can be a better place to resolve your issue.
    If I misunderstood anything, please feel free to come back.
    Thanks,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Source Code Analysis tool for BPEL (and BPMN) 11g

    Hi,
    We are checking for the availablility of 'source code analysis' tools (analogy like findbug, checkstyle) for BPEL / BPMN Orchestrations.
    Any information/pointers to it is really valuable and appreciated.
    Thanks,
    Pavan.

    Hi AnujaMoharir,
    Welcome to MSDN.
    I am afraid that as Renee Culver said, these forums donot support VB6, you could refer to this thread:
    Where to post your VB 6 questions
    You could consider posting this issue in these forums below:
    These forums do not support Visual Basic 6, however there are many third-party support sites that do. If you have a VB6-related question please visit these popular forums:
    VB Forums
    VB City
    Thanks for your understanding.
    Best Regards,
    Youjun Tang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • PST Capture Tool

    Having issues with the PST Capture tool.  It will find and locate the PSTs. When importing to the mailbox, it errors.  It will transfer it to the staging folder but errors afterward. Error is Import Error: Error opening pst file.  
    Pst capture is running as local admin.  Account on it is set to Organization management permissions with global admin. Outlook 2010 64 bit is open and running.  The account has access to the destination mailbox. 

    This might happen due to the issues of calendar items in PST file. I would suggest you to uncheck non-mail items, including  Calendar items and All other non-mail items (contacts, task, notes, etc).
    This is the forum to discuss questions and feedback for Microsoft Office Clients, you question is really about the PST Capture Tool on Exchange Server side. Better to post your question to the forum for Exchange server:
    http://social.technet.microsoft.com/Forums/exchange/en-US/home?category=exchangeserver
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Thanks,
    Ethan Hua CHN
    TechNet Community Support

  • Community Nugget 2-19-2007 "Stacked Sequence Exterminator"

    I am sure everyone with even casual familiarity of LabVIEW has run across older (or newer) code that is just peppered with ...
    Stacked Sequences from Hell.
    Stacked sequences (especially the one's containing sequence locals) are the hallmarks of confusing, unreadable and unmaintainable code. Data flows in all directions (mostly right-to-left), a large percentage of code is hidden at any given time, and it is almost impossible to debug and follow what going on. Often there is clear data dependency (or execution order does not matter), so the sequence serves no purpose. Better programmers don't use stacked sequences at all and even keep flat sequences at a minimum.
    Here is an example:
    Since the code seems to work "sort of", and trying to rewire things manually will probably lead to accidental errors, we have no choice than to leave things in place...
    ... or do we???
    If we try to right-click on the sequence, we can only remove individual frames, breaking everything in the process. No go! A dead end!  Sigh!
    But let's not give up just now.... We can easily convert the stacked sequence to a flat sequence, so lets do that as a first step:
    At this point, we can remove the flat sequence and all connections remain in place. Now we can just cleanup the elements and wires and everything look much better. Ahhh!!!
    In summary:
    An easy two-step procedure allows us to exterminate unnecessary stacked sequences without any danger of breaking the code. This method should lower the fear to remove these monstrosities. Try it today!
    This is a Community Nugget. If you want to contribute, please sign up here: http://forums.ni.com/ni/board/message?board.id=BreakPoint&message.id=3379#M3379
    Message Edited by altenbach on 02-18-2007 10:43 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SeqToFlat.gif ‏15 KB
    SeqStackedA.gif ‏10 KB
    CannotRemove.gif ‏12 KB

    Tomi,
    Aren't you asking for a good reason to use a "bad" construct?
    Your suggested code construct would look like this.
    After wondering how to make it faster, you would concider this.
    But the revised version is not possible with a stacked seq. With a State Diagram you have a lot more flexibility, and you have it now.
    Now don't get me started because the next thing you know I will be talking about the SDE* and this thread is about exterminating Stacked Sequences..
    Wait, I think I just did.
    Ben
    * With a State Diagram you have a lot more flexibility, and you have it now. If you use the SDE the graphic documentaiton comes along for the ride.
    Message Edited by Ben on 02-19-2007 07:59 PM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Stacked Seq.JPG ‏20 KB
    Stacked Seq Rev1.JPG ‏23 KB

  • Community Nugget 05/27/2009

    On occasion, you may wish to measure the amount of time a certain piece of code takes to execute.
    What many people do is something like one of these options:
    But this annoying to rewrite every time. If you're good, you probably have a merge VI or use VIs such as the OpenG VIs shown here to save some time on writing this code.
    Well, there is a faster way:
    The timed sequence has an output terminal which tells you how long it takes to execute. You can simply drop one and select that terminal.
    Caveats:
    I believe they're only available on Windows and RT.
    They take too much space (but then, so does the alternative).
    If you're running your code in parallel with other code (which you should not be doing), they might get higher priority, thus skewing the results. I don't know enough about this to give a good answer.
    When you drop one, it has terminals on the inside. You have to select to hide them if you don't want them.
    For a list of past nuggets, see here.
    Try to take over the world!

    In the first pic (flat
    sequence), the inputs of the substract-prim needs to be swapped (as in
    the code using OpenG)
    Actually,
    in both cases the earlier time is correctly substracted from the later
    time. It's just arranged differently (and I agree it can be confusing.
    Another reason to do this, although personally I don't time my code very
    often, so I don't actually use this).
    Sequences always make me nervous...
    So I prefer negative times for two reasons:
    * Something odd is on my BD
    * Rewind the time ASAP before the moment I dropped the sequence
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

  • Code Review tool of Angular Js ??

    Hi All,
    I need to do code review for all of my Angular JS files
    Please let me know if any tool is available for doing review of my JS files 
    I am aware of ReSharper tool and planning to use the same for my requirement.
    Thanks in Advance 
    -Jiniv Thakkar

    Hi Zpittman,
    What is you said ‘Code Review Tool’?
    I assume that you meant the Code Review feature in TFS. I tried it in Visual Studio 2013 with update 4 and TFS 2013 with Update 4, the whitespace was detected and the code review see it as a difference.
    If you don’t get the same result with me using VS and TFS, please upgrade your VS and TFS to the latest update.
    If the issue still exists, please
    reset your VS settings through Tools->Import and Export settings->Reset all
    settings->…. and repair your VS.
    If code review tool is a third-party tool or a third-party VS/TFS add-in, the official support of this tool can be a better place to resolve your issue.
    If I misunderstood anything, please feel free to come back.
    Thanks,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Code generation tools

    Hello Xperts,
    Is there any code generation tool for hibernate & spring for java standalone application?
    Thanks!

    You may want to find useful DBScribe.
    ~ Madrid.

  • Can't adjust video levels in capture tool

    I'm using a Blackmagic Multibridge Pro as my I/O but when I try to digitize, the video input levels are hot. i want to adjust them in the capture tool but it's grayed out. I'm capturing from a Beta SP deck with a component signal. Anyone know how to fix this?
    Thanks.

    page 243 in the FCP6 manual states that "video levels can only be adjusted for analog video interfaces" it says nothing else. i'd rather adjust the levels from the source anyway whatever medium I am working in anyway. you might else well stick with that.

  • Code signing tools

    is it possible to just download the code signing tools? I've installed the SDK, but I can't find keytool or the javasign(?) commands.
    thanks.

    oops...that is jarsigner and keytool

  • My capture tool is suddenly not working!

    Hope someone can help me with this. I have been capturing and editing several projects over the last several months without any problems whatsoever using Final Cut Express 4. Now suddenly today it says it cannot initialize video deck. So I cannot control my video either through the regular Capture Tool. The Capture Now tool doesn't recognize a video deck either. I hadn't changed any settings whatsoever, so I have no idea what happened. I tried to delete the final cut plist following the directions of a friend of mine over the phone, to delete the presets and go back to the original ones, but that didn't help any either. Prehaps I did it wrong though. So does this mean I have a faulty firewire? The video capturing doesn't work with either my dvplayer nor my 100xb minidv camera. Any ideas would be appreciated!

    Well, I tried to capture in the imovie. Using the camera icon on the side, it said I needed to connect a camera. I then tried the import from camera on the top menu and it doesn't work either. So it sounds like I have a faulty firewire. I've never heard of such a thing, but it seems like the logical choice out of a process of elimination. Thanks for your help. I will replace it and see it it works.

  • Java static code analysis tool on Windows

    What Java static source code analysis tool are there on Microsoft Windows, and which would you recommend?
    I Know Coverity and
    Klocwork
    Edited by: Jennifer.helen on May 8, 2009 6:03 AM

    I submit PMD and Findbugs.

  • Where is the polygonal capture tool on PSE 11?

    Where is the polygonal capture tool on PSE 11? It was on PSE 9. If it does no longer exist on PSE 11, how can I get a similar capture as with the polygonal one.
    Thx for your kind answer
    Novembredecembre

    Do you mean the polygonal lasso tool? If so, click on whatever lasso tool is visible and you'll see it at the bottom of the screen on the left end of the Tool Options. Just click it there to activate it.
    If you mean the Polygonal Shape tool, click whatever shape tool is visible (usually the icon is a blue blob like an amoeba if you haven't used the shape tools yet) and choose it in the tool options.

  • Is there a screen capture tool in Photoshop Elements 9?

    Is there a screen capture tool to take a screen shot of a window in another application or of Web page?

    Thank you for telling us about ALT+PrintScreen.  I'm 44 and I've been using computers since I was 13, have built my own computers, have built websites and dabbled in programming and I didn't know that.
    This reminds me of 1997 when I still had my first PC I bought off the shelf: a Compaq Presario 433.  The father of a friend of mine was a Linux nut back then and he worked for Texas Instruments.  So computers were his life.  Well, I remember when he screwed up the end of some long command line he had typed into his PC.  I think he said, "Argh, I gotta type that all over again."  I said, "No you don't."  I stepped over and held down the F1 key (I think it was; it's been a long time) and his command line quickly reappeared letter by letter so he just had to backspace the error at the end.  He gawked at the screen and I didn't have to look at him to know he was blushing.
    There are probably a lot of other ALT and CTRL key combos I'm unaware of, but would find useful every day.  Like how to make this message post without having to grab the mouse and hit "Add Reply".

Maybe you are looking for

  • Need help with modelling

    Hi, I have an u201CInventory Controllingu201D InfoCube (Cube 1) and defined queries on this InfoCube, which works fine. The time characteristic u201CFiscal year / periodu201D in this cube is derived from MKPF-BLDAT (Document Date in Document). And I

  • ORABPEL-11017 Error while translating message to native format

    Hello I and trying to do a simple read and write file adapter. When I try and map the variables in the xls file it seems to work right but I run the BPEL and I get this output :( ORABPEL-11017 [2010/01/20 15:52:19] Faulted while invoking operation "W

  • Problem with embeded movies

    I recently got Dream weaver to promote myself as an animator and am attempting to make my first website. While not the most sophisticated looking page in the world, it is functional so far. However, I've been trying to put my demo reel/animations ont

  • KERNEL upgrade problem.

    Dear Experts, Very imp issue.  please find time to read and gothrough this. recently i had updated KERNEL for ECC 6.0 SR2. after updaing the kerenl files, i'm not able to see the updated patch level in system status. Same old patch level is displayed

  • Uninstalling 3rd party drivers

    I have a Chinese two way radio and in order to programme the frequencies I downloaded a runtime program and the software called Chirp. I have since updated to Yosemite and i could not get the programme to run. Looking on Google it would appear that a