LF Fortran VS2005/VS2008 Integration

The LF Fortran VS2005/VS2008 Integration provides Fortran 95 integration to VS2005 and VS2008.
This new product enhancement includes:


System Requirements

  • LF v7.1 - Fortran 95 (Enterprise, Professional,
         Express) or LF95 v5.7 (or newer)
  • Visual Studio 2005, Visual Studio 2008 Standard (or newer),
         or Visual Studio 2008 Extensible shell
  • VS2005: Windows 2000 SP4, XP, Server 2003
         or Vista (except Starter Edition)
  • VS2008: Windows XP SP2, Server 2003 SP1,
         Windows Server 2003 R2, Vista (except Starter Edition)
         or Windows 7

  • Download the LF VS2005 trial
    Download the LF VS2008 trial
    Purchase the product

  • Project system
  • Win32 project and project item templates
  • On-line integrated help
  • Syntax coloring
  • Expandable code
  • Method tips for intrinsic functions
  • Quick info for local and global variables
  • Block commenting and indenting
  • Brace matching
  • Automation support
  • MSBuild support
  • Visual SourceSafe support

    Project system

    The project is a basic building block that Visual Studio uses to create applications. A project will normally take a set of one or more source files and produce a compiled executable, but a project can also produce things like DLLs or static libraries, or do other sorts of processing. All the source files within a project are usually written in one programming language, and are compiled with one compiler. The LF95 integration package provides several type of projects, and allows users of VS2003 to automatically upgrade their native Fortran projects to VS2005 or VS2008. The LF95 project facility automatically scans all source files at build time and ensures all files are built in the proper order to satisfy module dependencies.

    Win32 project and project item templates

    On-line integrated help

    The VS2005/VS2008 integration package provides documentation that is integrated into Visual Studio help system. The comprehensive documentation covers the Fortran language, LF95 compiler usage, and Fortran-smart Visual Studio editing features:

    Syntax coloring

    Syntax coloring provides the ability to differentiate code elements based on color. For example, a keyword may appear in blue, comments may appear in green, while character strings might be maroon. The Fortran language allows variables and procedures to have the same names as keywords, and this can pose a problem for colorizers that do not have a strong parsing ability. Since the parser used in the Lahey colorizer is derived from a Fortran compiler, it is unlikely that is would be confused by an identifier with the same name as a keyword. The integration package allows the user to customize the colorizing scheme.

    Expandable code

    Expandable code can make the chore of navigating through sections of code easier by allowing you to collapse a region of code into a single line. This feature works at the module and procedure levels by default, but the user has the ability to add new outlining regions, or to remove existing outlining regions.

    A portion of the collapsed code can be viewed by hovering the mouse over the box containing the "...":

    Method tips for intrinsic functions

    Parameter Info is a feature that helps the user write code by displaying information about intrinsic procedures as the user is typing. Parameter Info is currently implemented for all Fortran 95 intrinsic procedures, and Lahey extensions supported by LF95.
    As a procedure invocation is typed, the open parenthesis character triggers the Parameter Info tooltip for the first argument:

    As typing continues, each succeeding comma character that is typed will trigger a tooltip for the next parameter:

    When a close parenthesis character is typed, the tooltip window is dismissed. The tooltip window is also dismissed whenever the cursor is moved outside of the area of the argument list.

    Quick info for local and global variables

    Quick Info provides the user with information about variables and intrinsic procedures by displaying an informational tooltip window when the mouse is hovered over a name. Quick Info is currently implemented for all Fortran 95 intrinsic procedures, Lahey extensions supported by LF95, and variables that are defined within the same file.

    Block commenting and indenting

    Block commenting is a feature that allows the user to quickly comment or uncomment selected blocks of code. Block indenting allows the user to change the indentation of a selected block of code. Both of these features work for code that is highlighted. If any portion of a line is highlighted, the feature works on the entire line. If there is no highlighted code, commenting or indenting will work on the single line where the cursor resides.

    Brace matching

    Parenthesis matching is a feature that locates a matching parenthesis and highlights the parenthesis pair. This feature can be quite useful when examining a complex statement. The following diagram shows a single multiline code statement with the matching braces highlighted with a light gray box:

    Automation support

    Automation is the ability to control Visual Studio, solutions and projects with software. It allows the user to programmatically control project creation and modification, to set project and file compilation options, and to build and execute projects.

    MSBuild support

    MSBuild is Microsoft's XML-based build system. It is integrated with Visual Studio, but it can also be used on the command line. The LF95 Project facility uses MSbuild when building projects. For a comprehensive description of MSBuild, see the MSDN documentation for msbuild.exe.

    Visual SourceSafe support

    The Fortran integration package supports the Visual SourceSafe VCS. From Visual Studio 2005 or 2008, the user with Visual SourceSafe installed will be able to easily place entire Fortran solutions under version control. The user can check Fortran files and projects in and out with Visual Studio. Note that because the Fortran project system modifies the project file in order to update dependency information, it is necessary to check out the project file before building the project.