38209 FoxcodePlus

Visual Studio like extensions to Visual FoxPro IntelliSense.

38236

Project Manager: Rodrigo Bruscain

The FoxcodePlus project is designed to bring new IntelliSense features found in Visual Studio to the Visual FoxPro IDE through code written in Visual FoxPro to the Windows API and a FLL. The list of features is quite extensive:
  • Incremental IntelliSense for functions, commands and so on.
  • Variables at write-time.
  • List of variables at write-time.
  • Constants at write-time including constants invoked by #INCLUDE MyFile.H
  • Tables at write-time and run-time also included tables from DataEnvironment in Forms and Reports.
  • Fields at write-time and run-time.
  • Selecting a table with the command "Select" or all commands with the clause "IN".
  • Windows APIs at write-time and run-time.
  • Functions and Procedures at write-time.
  • Classes at write-time.
  • Properties at write-time.
  • Methods and Events at write-time.
  • Support for _MemberData property indicating that the property had capitalization.
  • Summary Tooltip for functions, procedures, methods and events.
  • Classes objects at write-time.
  • WITH...ENDWITH with nesting infinity for any class or instantiated object at write-time and run-time.
  • Objects instantiated in memory.
  • Incremental Shortcut to controls in Form and Class Designer.
  • Replacement of native IntelliSense in Form and Class Designer.
  • New IntelliSense for some commands.
  • Code snippets for commands and functions.
  • Intellisense at write-time for objects created using the functions CreateObject(),CreateObjectEx() and NewObject() invoking a PRG or VCX file.
  • Classes and functions invoked by SET PROCEDURE TO...
  • Classes invoked by SET CLASSLIB TO...
  • Help pressing F1 when intellisense is opend.
  • Documenting properties in PRG files with custom tooltip like summary.
  • Error List window.
  • Error Tip for some run-time erros at write-time.

38236

vfpxicon.png New features FoxcodePlus (Beta 3.11)

NEW: Support for Windows 8
NEW: As in Visual Studio, the native or custom Code Snippets can be shown in the IntelliSense.
NEW: Now, VFP can read custom Code Snippets for functions (native IntelliSense is only for commands)
NEW: Several Code Snippets were included for commands and functions
NEW: In the IntelliSense Manager there is an option to increment the IntelliSense only with keywords started by typed
NEW: In the IntelliSense Manager there is an option to include the Code Snippets in IntelliSense
NEW: In the IntelliSense Manager there is an option to replace the native IntelliSense in form and class desinger
NEW: Now, when an object in a form and class designer is selected in incremental IntelliSense, the hierarchy is included
NEW: IntelliSense to the command "COPY TO <MyFileName> TYPE"
NEW: IntelliSense to the command "SET PROCEDURE TO <listfiles>"
NEW: Now, IntelliSense can read classes and functions invoked by "SET PROCEDURE TO"
NEW: IntelliSense to the command "SET CLASSLIB TO <filename>"
NEW: Now, IntelliSense can read classes invoked by "SET CLASSLIB TO"
NEW: IntelliSense to the command "DO FORM <filename>"
NEW: IntelliSense to the command "REPORT FORM <filename>"
NEW: IntelliSense to the command "USE <filename>"
NEW: Now, IntelliSense is showing in the tooltip more information about the controls in forms and class designer
NEW: Now, the custom procedures, functions, methods and events can show a
tooltip with the signature; in addition the summary is supported.
NEW: Now, API functions at write-time show the signature.
NEW: Possibility to select an item in IntelliSense pressing "," or "#"

FIX: Typing "." in properties documentation using "&&&"
FIX: Invalid subscript error to obtain the summary
FIX: VFP freeze when exist {_MemberData property in _Screen} object
FIX: Clauses in command "USE" in the native IntelliSense VFP have don't work correctly when table or alias name contain the name one of clauses
FIX: SET PATH at run-time is not considered when a file is referenced at write-time
FIX: IntelliSense doesn't work with properly with commands like SELECT SQL with ";" used to break lines
FIX: Incremental IntelliSense doesn't work in "#Preprocessor Directive"
FIX: Local Array laArrayName[10] in IntelliSense shows "Array laArrayName" and should be "laArrayName"

vfpxreleasesmall.png Download Latest Release of FoxcodePlus
Don't forget to see the documentation about the new features on FoxcodePlus Beta 3.11


38236

vfpxicon.png FoxcodePlus Images (see all images in documentation)

New IntelliSense Manager
fcpIntelliSenseManager.png

CreateObject( ), NewObject( ) and CreateObjectEx( )
fcpCreateObject.png

Incremental Intellisense for Constants in #INCLUDE
fcpINCLUDE.png

Signature for custom procedures, functions, methods and events
fcpTooltipParamMethod1.png

fcpTooltipParamMethod2.png

Classes and functions invoked by SET PROCEDURE TO...
fcpSetProcedure.png

fcpSetProcedure_class1.png

fcpSetProcedure_class2.png

fcpSetProcedure_func1.png

Classes invoked by SET CLASSLIB TO...
fcpSetClasslib.png

fcpSetClasslib_class1.png

fcpSetClasslib_class2.png

Error List for Form and Class Designer
fcpErrorlist2.png

_MemberData Property
fcpMemberData2.png

Error Tip
fcpTipError1.png

fcpTipError2.png

fcpTipError3.png

fcpTipError4.png

fcpTipError5.png

fcpTipError6.png

fcpTipError7.png


New Features like in Visual Studio
fcpSummary.png

fcpErrorList.png

fcpVarIncremental.png

fcpShortcutControls.png

fcpConstant.png


Tables and fields
fcpTables.png

fcpFields.png

fcpDataEnvironmentForm.png

fcpDataEnvironmentReport.png

fcpInAlias.png


Objects in memory can be used when VFP is running in background
fcpVFPbackground.png

fcpVFPbackground2.png

Last edited Apr 5, 2013 at 2:23 AM by bruscain, version 40

Comments

billand88 Oct 13 at 4:29 PM 
I am constantly getting this error. Usually it is generated by typing a memory variable (such as liTest) followed by a space, boom! Or memory variable, followed by an equals sign, then a period, boom!

---------------------------
Microsoft Visual FoxPro
---------------------------
A FoxcodePlus error has occured. Press CTRL+C to copy this error or send the file foxcodeplus.err to the author.



FoxcodePlus version: Beta 3.13.2

OS version: Windows 6.01

Wontop: BDIMPORT.PRG

Localization: PROCEDURE FOXCODEPLUSMAIN.GETWITHHIERARCHY C:\PROGRAM FILES (X86)\MICROSOFT VISUAL FOXPRO 9\FOXCODEPLUS.APP

Method: getwithhierarchy

Line: 1942

Error message: Subscript is outside defined range.

Error number: 1234

Line contents: ...
---------------------------
OK
---------------------------

MauroPolo Aug 7, 2013 at 2:55 PM 
Sometime VFP is closed with
Fatal error: Exception code=C0000005 @ 08/07/13 12:00:38 PM. Error log file: C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9err.log
and i lose all work non saved.

oscarrd May 29, 2013 at 5:50 PM 
Increible trabajo, felicidades.....asombrosos resultados, algunos detalles insignificantes desde mi punto de vista, pero para mi que desarrollo en .Net encontrar esto en mi querido Foxpro, es mas que excitante.

marciolas May 28, 2013 at 12:25 PM 
Uso e recomendo! Parabéns Rodrigo, a versão ficou "show de bola".

marciolas May 21, 2013 at 7:34 PM 
Excelente trabalho Rodrigo! Voltei a utilizar e estou gostando muito. De vez em quando o VFP pára de funcionar, não sei exatamente se é por conta do FoxCodePlus ou do FoxTab, vou verificar isso depois. Tenho alguns pontos para ver com você, vou ti passar um e-mail. Mais uma vez parabéns, a ferramenta realmente está ficando excelente.

z_grzelczak May 15, 2013 at 3:15 PM 
Congratulations !
Wonderful job !

Thank you.
Zibi

mk_common May 7, 2013 at 5:32 AM 
Excellent!

Warm regards,
mk.

juanziur Apr 24, 2013 at 1:23 AM 
Excelente herramienta, Larga vida al zorro!

Ugurlu2001 Apr 10, 2013 at 9:44 AM 
FoxcodePlus Error :
****
---------------------------
Microsoft Visual FoxPro
---------------------------
A FoxcodePlus error has occured. Press CTRL+C to copy this error or send the file foxcodeplus.err to the author.
FoxcodePlus version: Beta 3.11
OS version: Windows 6.01
Wontop:
Localization: PROCEDURE FOXCODEPLUSMAIN.MAIN C:\VFP9\FOXCODEPLUS.APP
Method: main
Line: 416
Error message: Unknown member INTELLISENSE.
Error number: 1925
Line contents: ...
****

How I get Error Message :
When I use 'cd..' at "command window"

itamarnunes Apr 5, 2013 at 3:56 PM 
Muito com, parabéns Rodrigo.
Notei uma coisa somente.
É que eu não gosto da fonte que veio, então eu mudo para Courier New.
Mas a configuração não fica salva, nem pro prgs, nem pro command e nem em potions setando o default.
Sabes como posso resolver isso?
Abraço

bruscain Apr 3, 2013 at 5:25 PM 
Hi everyone,

If you want to post an issue, please use the option ISSUE TRACKER.
I can't answer the issues in this place.
Remember, FoxcodePlus is a BETA version and FREE. However, several developers have been using normaly.

Thanks

Rodrigo

abergquist Mar 26, 2013 at 7:03 AM 
WRT '22- Help pressing F1 - Pressing F1 to open intellisense, VFP will open the help with the command, function, method or event positioned.', I don't see any difference when compared against the non-FoxCodePlus behavior.

abergquist Mar 26, 2013 at 2:54 AM 
Per '21- Documenting properties with custom tooltip', you have to use a triple ampersand after a property definition to get custom tool tip for that property. It would be great if FoxCodePlus could give us a custom tool tip for a property that has the "regular" double ampersand after it.

abergquist Mar 25, 2013 at 7:48 PM 
Analogous issue with 'PROTECTED': if I *slowly* type 'PROTECTED' and then slowly press the [SpaceBar] key, I end up with 'PROTECTED ' ('PROTECTED' followed by a space) and the PROTECTED IntelliSense tooltip (correctly) displays (with a list of 'FUNCTION' and 'PROCEDURE'). If, however, I *quickly* type 'PROTECTED' and then quickly press the [SpaceBar] key, I end up with 'PROTECTED d' ('PROTECTED' followed by a space followed by an 'd') and the PROTECTED IntelliSense tooltip displays --> in this 2nd scenario, I should only see 'PROTECTED ' ('PROTECTED' followed by a space); 'd' should not be inserted for me.

abergquist Mar 25, 2013 at 7:19 PM 
Issue with 'PROCEDURE' (same issue I reported with 'REPLACE'): if I *slowly* type 'PROCEDURE' and then slowly press the [SpaceBar] key, I end up with 'PROCEDURE ' ('PROCEDURE' followed by a space) and the PROCEDURE IntelliSense tooltip (correctly) displays. If, however, I *quickly* type 'PROCEDURE' and then quickly press the [SpaceBar] key, I end up with 'PROCEDURE e' ('PROCEDURE' followed by a space followed by an 'e') and the PROCEDURE IntelliSense tooltip displays --> in this 2nd scenario, I should only see 'PROCEDURE ' ('PROCEDURE' followed by a space); 'e' should not be inserted for me.

abergquist Mar 25, 2013 at 7:16 PM 
In '9- Functions and Procedures in write-time', it correctly displays 'MyFuncGetName' and 'MyProcGetNumber' in the IntelliSense list; when I select either of them, though, they get capitalized (because of my IntelliSense settings). I would like to have native (built-in) VFP functions and commands capitalized but would like user-defined functions and procedures to retain the casing in which they were defined (this would be an enhancement to FoxCodePlus).

abergquist Mar 25, 2013 at 7:04 PM 
Issue with 'REPLACE': if I *slowly* type 'REPLACE' and then slowly press the [SpaceBar] key, I end up with 'REPLACE ' ('REPLACE' followed by a space) and the REPLACE IntelliSense tooltip (correctly) displays. If, however, I *quickly* type 'REPLACE' and then quickly press the [SpaceBar] key, I end up with 'REPLACE e' ('REPLACE' followed by a space followed by an 'e') and the REPLACE IntelliSense tooltip displays --> in this 2nd scenario, I should only see 'REPLACE ' ('REPLACE' followed by a space); 'e' should not be inserted for me.

abergquist Mar 25, 2013 at 6:14 PM 
Issue with '3 - Accessing the list variables in write-time.': when I type 'm.', I see the same list of memory variables as you show in Image 6, except the text 'ARRAY ' is in front of 'aCars' and 'laNames'. When I 'ARRAY aCars', I end up with 'm.ARRAY aCars'; it should be 'm.aCars'. When I 'ARRAY laNames', I end up with 'm.ARRAY laNames'; it should be 'm.laNames'.

abergquist Mar 25, 2013 at 6:04 PM 
Rodrigo,

*Fantastic* tool!

I did encounter a bug while testing, though; if I type '#', I correctly see a list of all the preprocessor directives, starting with '#DEFINE'. When I then type 'D' (so that I now have typed '#D'), it replaces the list of preprocessor directives with a list of functions (starting with 'cdx') and highlights 'Date'. What I should see at this point is just the #DEFINE preprocessor directive (because that's the only preprocessor directive that starts with '#D').

bruscain Feb 22, 2013 at 4:53 AM 
Hi StefanNbg,
I have been working in a new version for windows8.
Thanks,
Rodrigo

bruscain Feb 22, 2013 at 4:52 AM 
Hi Cyberfacz... download the documentation for you know how to install FoxcodePlus.
Thanks,
Rodrigo

Cyberfacz Feb 21, 2013 at 7:01 PM 
Como se instala?

StefanNbg Feb 21, 2013 at 4:32 AM 
Still Not working under windows 8 :(

dexsys Dec 26, 2012 at 8:37 PM 
Excelente herramienta, muchas gracias. desde chile

Ugurlu2001 Dec 13, 2012 at 12:55 PM 
The Foxcodeplus look like a great tool Rodrigo, Thank you for shared on codeplex.

carbcoder02 Dec 3, 2012 at 5:41 AM 
I have encounter a bug in 3.03 when using the (m.) IntelliSense the local variables are not appearing, while I issue the variable name without the (m.) it is displaying. So I use the 3.00 version of foxcodeplus I have no issues as of now.