Intellisense delay fix

Anyone know the timeline when the random delay when typing the period in an object where E10 goes out for coffee before coming back with suggestions might get fixed? For example typing Inputs. in the configurator code editor will bring up a list of existing configurator controls. I have gotten in the habit of hitting the space bar before the period as I usually know what I am going to type and want to avoid the possibility of the delay. But if it is time for the coffee break and I slip and type the period E10 will put up the busy signal and take a break ranging from a few seconds to as long as 3 or more minutes. I am on 10.2.600.10.

Did you see this?

in 10.2.300, I can type the dot, and then keep typing - Intellisnse never appears.

To see Intellisense I have to type the dot, and follow it with a CTRL+Space.

In the configurator it looks like they didn’t make this change. It still auto suggests and will randomly go on an extended break before returning suggestions.

Then maybe this …

edit

Hmmm … I thought 10.2.600 >> 10.2.300.15

And just curious … Why does it suggest the proper capitalization, but pressing CTRL+Space yields all lower case?

image

Double clicking the suggestion, inserts the proper case. But the whole point is to use keyboard entry.

Is there a better way of choosing the suggestion via keyboard?

I hadn’t noticed that before.

There are a number of annoying editing behavior issues in the configurator code editor. The auto complete is a bit case insensitive, so you can type inPuts or Inputs or INPUTS and the auto complete will come up for all of them. But when you are done you will get a syntax error due to the incorrect case of the object name.

Another annoyance, if there is text to the right of what you are entering when you select something it will eat that code.

… Key1, Key2). If you type something where Key1 is and use the auto complete to select an item, the comma at a minimum will get eaten.

I know I should report more of these but I have gotten used to working around them and if on a schedule forget to submit when I get time.

another is when you select something after typing part of the item it will add onto what you typed. So Inputs.txtMy becomes Inputs.txtMytxtMyControl

I another topic, I saw it referred to as “Intellisensortof”

If I recall way back to the last Insights, @sergey mentioned that the capability requires parsing the dll file to do reflection to get all the signatures from that object - and if the dll isn’t local, it downloads it from the server, and if your server is across the WAN…ouch.

My work-around - if I didn’t need the Interuptsense - was to type the object and method into Notepad or some other text box and then copy/paste it back into the configurator and that seemed to avoid firing the Intellisense.

I do notepad++ a lot but will slip up and direct enter something hitting the period. It is not consistent so not sure the reflection explanation explains it.

What I’m hoping is that Epicor will leverage existing coding tools like Microsoft’s Monaco (the editor in VS Code) instead of maintaining the homegrown toolset. Epicor was ahead of the times and had to write their own IDE but with the OSS available for web applications today, it doesn’t make sense to maintain these.

I’m eager to see where the Product Configurator goes with a Kinetic/Browser-based model. :thinking:

1 Like

Fun Fact - Epicors BPM, BAQ Code Editor is:
http://avalonedit.net/

3 Likes

That IS a fun fact!

Is there a way to replace avalon editor?

I thought I saw someone say they were packaging Visual Studio Code with the latest versions but it wasn’t in use yet… I can’t remember where I saw that but I think it was one of @hasokeric posts

In the Help | About Epicor, it does list all of the libraries used. AvalonEdit is a part of the ICSharp Code Library.

Warning: This computer program is protected by copyright law. Unauthorized reproduction and distribution of this program, or any portion may result in severe criminal and legal penalties.

Portions of this Software utilize
IC Sharp zip library, Code Parser, Sarissa, WebKitDetect, Pahvant, Nii JSon, Newtonsoft JSon, (JSON.org), JQuerydoTimeout jQuery plugin for getting position of cursor in textarea, used under GNU GPLv2 and GPLv3 as applicable ( http://www.gnu.org/copyleft/gpl.html and http://www.gnu.org/licenses/gpl-2.0.html)

JS class “getElementsByclassname” developed by Rober Nyman (http://code.google.com/p/getelementsbyclassname, JQuery , JQuery iFramer, JQuery Impropmtu, JQuery Mobile Icon Pack, jQuery Reveal Plugin 1.0, jQuery UI, Color picker Plugin for JQuery library by Stefan Petre, Angular JS, Bootstrap, DataTables, RabbitMQ, MasonryJS, NodeJS, Microsoft.IdentityModel.Clients.ActiveDirectory module, AutoMapper v 7.0.1, AdaptiveCards 1.1.2, Microsoft.Data.OData 5.8.4, Microsoft.AspNet.Odata 7.1.0, Microsoft.OData.Core, Microsoft.OData.Edm, Microsoft.OData.Spatial 7.5.4, Package, Material, angular2-jwt, json-logic-js, ang-jsoneditor, Microsoft.Azure.Aqmp, Microsoft.Azure.Devices, Microsoft.Azure.Devices.Shared, Microsoft.Azure.EventHubs, Microsoft.Azure.EventHubs.Processor, Microsoft.Azure.KeyVault.Core, Microsoft.Azure.ServiceBus, Microsoft.Azure.Services.AppAuthentication, Microsoft.IdentityModel.Clients.ActiveDirectory, Microsoft.IdentityModel.JsonWebTokens, Microsoft.IdentityModel.Logging, Microsoft.IdentityModel.Tokens, JsonLogic.Net - licensed under Open Source Initiative OSI - The MIT License (MIT, http://www.opensource.org/licenses/mit-license.php )

NRefactory (https://github.com/icsharpcode/NRefactory/blob/master/doc/license.txt)

Mono Cecil under Creative Commons license http://creativecommons.org/licenses/by-sa/3.0/us/

Cordova cordova.apache.org, NVD3 Charts, SeliniumHQ (SeleniumIDE and Selenium WebDriver), Microsoft Minifier, Traceur -compiler, log4net, Microsoft – Entity Framework Core, IdentityServer.io - Identity Server v4, Microsoft - ASP.NET Core, TypeScript, QR Reader - ZXing.Net, IdentityModel, IdentityModel.OidcClient 2.9.0, micjahn/ZXing.Net 0.16.4, Microsoft.Owin 4.0.1, json-editor, Owin, Microsoft.Owin, Microsoft.WindowsAzure.Storage - licensed under http://www.apache.org/licenses/LICENSE-2.0

D3 Charts, d3js.org, Swashbuckle.Core 5.6.0, Nuget - Under the BSD 3-Clause License. http://opensource.org/licenses/BSD-3-Clause

Newtonsoft.Json.Schema licensed under licensed under GNU GPLv2 and GPLv3 as applicable ( http://www.gnu.org/copyleft/gpl.html and http://www.gnu.org/licenses/gpl-2.0.html)

Accord.Text 3.8.0 GNU GPLv2.1 (http://accord-framework.net/license.txt)

Rebex.Elliptic.Ed25519, under https://github.com/rebexnet/elliptic/blob/174348a578efc2aa36e349d6a6de4a57bce14a5e/Src/Rebex.Ed25519/LICENSE

Font Awesome, SIL Open Font License (OFL), GPL / SIL OFL 1.1 (http://scripts.sil.org/OFL)

Some portions of the Software utilize
SQL Lite Library (www.sqlite.org http://www.sqlite.org) and Crypto Library (www.cryptopp.com http://www.cryptopp.com) available under the public domain

DocStar integration - tar-cs - https://www.openhub.net/licenses/bsd, BSD 4 clause license, Ionic.Zip - DocStar https://github.com/driftyco/ionic/blob/master/LICENSE, licensed under MIT license, PDFSharp - MIT license, http://www.pdfsharp.net/PDFsharp_License.ashx

DMT - winforms-modernui and LumenWorks both licensed under The MIT License (http://en.wikipedia.org/wiki/MIT_License)

Portions of the Software utilize products used under Software License Agreement
Infragistics, © Infragistics Software; PlexityHide, © PlexityHide; Business Objects © SAP.

I suppose you COULD, not trivially though.

Practically speaking, it’s easier to just dev directly in Vstudio/Code.