PDA

View Full Version : [OPEN] Better .sencha-ide-config example



C.Parcell
14 Jan 2016, 6:48 AM
I would like some specific example(s) for the .sencha-ide-config file for the VS plugin.

The example provided does not give enough detail.


{
"include": [
"c:\\path\\to\\dir\\to\\include"
],
"exclude": [
"c:\\path\\to\\dir\\to\\exclude"
],
"apps" : [
{
"name": "AppRootNamespace",
"path": "path\\to\\app",
"toolkit": "classic|modern",
"sdk": {
"path": "c:\\path\\to\\sdk",
"version": "sdk version - e.g. 6.0.1",
"framework": "extjs|touch"
}
}
]
}

Lets assume this folder structure...
53864

Would the following be correct?

{
"include": [
// Bryntum Scheduler plugin for ExtJS
// Is a server path valid?
// Do we use MS directory slash (\) or Web directory slash (/)?
// Should this point to the root folder or the src (js) folder?
"\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\",
// or? "\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\js\\"
// or? "\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\js\\Sch\\"
],
/*
"exclude": [
"c:\\path\\to\\dir\\to\\exclude"
],
*/
"apps" : [
{
"name": "AccountManager",
// Assuming that the application_manager folder from image is...
// D:\myVSSolution\application_manager\
// Should this path point to the root of the app (where the app.js is) or the app folder within?
"path": "D:\\myVSSolution\\application_manager\\",
// or? "path": "D:\\myVSSolution\\application_manager\\app\\",
// Assuming that the sencha-ide-config is located in the myVSSolution folder how to make relative?
// relative path? "path": "application_manager\\",
// relative path? "path": "\\application_manager\\",
// relative path? "path": "application_manager\\app\\",
// relative path? "path": "\\application_manager\\app\\",
"toolkit": "classic",
"sdk": {
// Should this point to the root of the Ext folder or the src folder within?
"path": "\\\\someServer\\someSharedFolder\\ext-src\\ext-4.2.5.1763\\",
// or ? "path": "\\\\someServer\\someSharedFolder\\ext-src\\ext-4.2.5.1763\\src\\",
"version": "4.2.5.1763",
"framework": "extjs"
}
}
]
}

AlexanderDrackaProfiq
15 Jan 2016, 1:51 AM
Hello C.Parcell,
thank you very much for your feedback. I will make a suggestion for an improvement in our bug tracer.
In case of your questions:
In "include" we are using MS directory slash and you should point it to the root folder.
In "path" you can use relative path (from the point where sencha-ide-config file is) to the root of the app. So yes "application_manager\\app" is ok.
In "sdk" the path should be also to the root.
Please see my very own .sencha-ide-config file:


{
"include": [ "C:\\Users\\Alexander\\Documents\\Visual Studio 2015\\Projects\\TestClassic\\TestClassic\\Sencha\\app",
"c:\\inetpub\\wwwroot\\TestIdeConfig3\\WebApplication1\\ExtJs_App\\app" ],
"exclude": [ "D:\\Documents\\TestApps\\TestIdeConfig2\\TestIdeConfig\\ExtJS_App\\app\\ExcludeTest\\ExcludedClass" ],
"apps": [
{
"name": "MyApp",
"path": "TestIdeConfig\\ExtJS_App",
"toolkit": "classic",
"sdk": {
"path": "C:\\Users\\Alexander\\Documents\\frameworks\\ext-6.0.1.250",
"version": "6.0.1.250",
"framework": "extjs"
}
}
]
}


I hope it helps :-?. In case of any questions or problems please let me know.
Have a nice day.

cdibbz
15 Jan 2016, 6:55 AM
I would like some specific example(s) for the .sencha-ide-config file for the VS plugin.

The example provided does not give enough detail.


{
"include": [
"c:\\path\\to\\dir\\to\\include"
],
"exclude": [
"c:\\path\\to\\dir\\to\\exclude"
],
"apps" : [
{
"name": "AppRootNamespace",
"path": "path\\to\\app",
"toolkit": "classic|modern",
"sdk": {
"path": "c:\\path\\to\\sdk",
"version": "sdk version - e.g. 6.0.1",
"framework": "extjs|touch"
}
}
]
}

Lets assume this folder structure...
53864

Would the following be correct?

{
"include": [
// Bryntum Scheduler plugin for ExtJS
// Is a server path valid?
// Do we use MS directory slash (\) or Web directory slash (/)?
// Should this point to the root folder or the src (js) folder?
"\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\",
// or? "\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\js\\"
// or? "\\\\someServer\\someSharedFolder\\ext-src\\scheduler-2.5.10\\js\\Sch\\"
],
/*
"exclude": [
"c:\\path\\to\\dir\\to\\exclude"
],
*/
"apps" : [
{
"name": "AccountManager",
// Assuming that the application_manager folder from image is...
// D:\myVSSolution\application_manager\
// Should this path point to the root of the app (where the app.js is) or the app folder within?
"path": "D:\\myVSSolution\\application_manager\\",
// or? "path": "D:\\myVSSolution\\application_manager\\app\\",
// Assuming that the sencha-ide-config is located in the myVSSolution folder how to make relative?
// relative path? "path": "application_manager\\",
// relative path? "path": "\\application_manager\\",
// relative path? "path": "application_manager\\app\\",
// relative path? "path": "\\application_manager\\app\\",
"toolkit": "classic",
"sdk": {
// Should this point to the root of the Ext folder or the src folder within?
"path": "\\\\someServer\\someSharedFolder\\ext-src\\ext-4.2.5.1763\\",
// or ? "path": "\\\\someServer\\someSharedFolder\\ext-src\\ext-4.2.5.1763\\src\\",
"version": "4.2.5.1763",
"framework": "extjs"
}
}
]
}

Thanks for the feedback. In general, think of it like this:

The "include" property is used to add IntelliSense support to/from the path provided. Anything within the Solution's path (the path where the *.sln file resides) is already, by default, included. If, for some reason, you have a project/app outside of that path that you want to get IntelliSense results for you would specify that path here.

The "exclude" property is used to remove/prevent IntelliSense support from the given paths. This is particularly useful on large projects which might have many differing 3rd party JavaScript libraries/frameworks. The Sencha plugin indexes all included JavaScript files. If performance or accuracy of the IntelliSense is problematic using this to exclude non-Sencha 3rd party libraries is recommended.

The "apps" property is used for Ext JS applications that were not created using Sencha CMD. This allows users to specify the proper Ext JS framework version and location.

I agree with your assessment - a good example of the intended usage of each of these properties would be a nice addition to the guide. We'll work on adding that in - thanks.

C.Parcell
19 Jan 2016, 6:08 AM
Allowing for sever paths would be much appreciated. I work on a team of 4 developers and we have a central location on our development web server for the Ext library and Bryntum library. This setup allows us to exclude the library from the VS solution that we keep in TFS (source control). Each of us may have the server mapped in Windows, but the drive letter may be different or even the path may be different. So, allowing for a server path would be the only possible solution.

ex.
\\myServer\someShare\somefolder\targetFolder\

or more specifically...
\\\\myServer\\someShare\\somefolder\\targetFolder\\

This does not appear to work currently.

C.Parcell
26 Feb 2016, 7:54 AM
Revisiting this topic after some thought... Could you guys include the ability to simply build this config file from options selected through the plug-in UI options (Options > Sencha) with some tool tips or hints for each? Some people may have a hard time discovering this config. There is no good reason not to have it as part of the UI options. Perhaps adding a "Help" button that links to documentation on your site.