phofman / vs-plugin Goto Github PK
View Code? Open in Web Editor NEWThis project forked from blackberry/vsplugin
Visual Studio Plugin for BlackBerry Native Development
This project forked from blackberry/vsplugin
Visual Studio Plugin for BlackBerry Native Development
Currently the PuppetMasterWizardEngine has "1.2" Cascades version hardcoded and passing this value to underlying templates. The desired behavior is to be able to provide different value at runtime - based on the installed and active NDK. Then all created projects and project-items could benefit.
Solution:
It could be detected based on NDK version and for now hardcoded, but at NdkInfo::Load() level.
It would be really nice to see the device logs at runtime, once the QConn connection is established.
Otherwise - in case of any QML errors - developer is blind.
Found a nice two articles about Qt on Playook:
Maybe my other project could expose libraries/headers for Qt for PlayBook and Visual Studio plugin could be extended to provide a wizard or something, that automatically setups everything.
USB connection requires every time after finishing testing application, you need to disconnect and re-connect the device.
So far the workaround is WiFi connection.
Randomly only first few items are shown, when loading processes from target device. It can be observed in Target Navigator, although it has an impact on starting the GDB debugger. Since PID of the process to attach can't be obtained, it might end-up with an error and debugging might not start.
Plugin uses a wrong class to populate ZIP content. Try ZipArchive instead of the Package class. This should eliminate the automatically added Content_Types.xml files.
Most of IDEs, including VS, has a C/C++ option in "Advanced" part, called "force include header" or "prefix header", means every headers will has specified prefixed header included at the top. This is biggest missing functions in QNX compiler. In GCC, the option is "-include".
Currently there is no way to add already installed simulator.
Autodetection searches only for simulators inside the bbndk_vs folder, what is pretty limiting, if already got one via MSI. Also since plugin has a dedicated folder for configurations, this should not collide with the way Momentics works etc.
Do you have any plans to add possibility to debug JavaScript in QML in vs-plugin? This plugin is excelent, it enables Blackberry development in VS. With QML support, it would be, well... more excelent :)
Hello,
Is there any plan to release this plugin for VS2015?
Best Regards
It's quite messy, to ask developer to manually update the related MSBuild folders with new platforms etc. each time any new change to the plugin is published. There should be a way to make this process automated, so they don't bother with it anymore.
Current proposal:
Expected problems:
Hey again,
One more thing concerning project import.
I'm using svn, git as well, but svn 'produce' a lot of folders and subfolders with billions of files inside.
What do you think to add kind of 'filter' to remove such dummy files from import files list?
I know that I can uncheck them but filter like 'exclude folders: .svn' or 'exclude files: .git' would be a cool feature.
Thanks
Hey,
It would be cool if default project name be the same as the import project folder name or, even better, a projectDescription/name from .project.
When you have few projects to import it's easy to forget to change default project name and then I have to import project once again with correct name.
thanks,
btw. nice plugin, momentics is cool but it's 'as-is' ;)
I have Momentics and Visual Studio 2013 Update 4 Prof. installed on my drive H:, running Windows 8.1.
I can't find any hints that Visual Studio is recognizing the plugin after I installed it.
Currently the bar-descriptor.xml is left unchanged. It could speed-up importing BlackBerry samples projects, if it could overwrite the author information. The comments and layout of the file should stay unchanged.
Currently, when wizard-engine is processing files, it renames them and put into requested directory. However this directory structure is not reflected in created 'folder-filters' inside the project structure.
This is a bit painful, as files are placed inside the project based on global filters' extensions. And it leads to situation, when translation files are not added into a project (they are disabled in .vsz descriptor) to avoid having two makefiles and .pro files next to each other.
There are two scenarios to avoid in the future to have the manual installation bulletproof:
Currently all dialogs are modal windows displayed over VS. Integrating them with regular Visual Studio Options is the expected integration.
Importing existing Momentics projects should also be able to create Cascades applications.
There are few bugs around generating new debug token:
a) PIN editor could display names of known devices
b) the PIN is not copied, if you discover successfully a device
c) it could suggest adding other 'stored' devices, if not already on the list
Importing existing Momentics project is currently exposed via BlackBerry menu -> Import...
Maybe it would be useful to have it also as another project template. PuppetMasterWizardEngine can display any required UI to confirm the import process, if needed.
The errors returned during makefile compilation could look like:
../src/main.cpp(56): error : 'appui' was not declared in this scope
but it is not correctly transmitted to Visual Studio as it lacks the '56' line number. This causes the jump into the right place in code impossible. Whole write-compile-edit flow is then disturbed.
I tried to open project generated in VS plugin (VSP) in Momentics - to design qml there. Some warnings occured in Bar-descriptor.xml:
One bigger issue is related with this - Momentics cannot open VS project as is, it only can import "existing code as Blackberry c/c++ makefile project". This works, qml is editable, you can save it and open in VS etc. That process adds Momentics .project and .cproject files. BUT - it also overwrite config.pri. And something in that import automatically adds Build Configurations Device-Coverage, Simulator-Profile and Simulator-Coverage without entry-point causing error if someone try to edit bar-descriptor.xml/Build configurations in Momentics UI. The good thing is that project remains buildable in VS.
It would be nice if VSP - when creating/updating project - could generate also Momentics project metadata - so it will be openable in Momentics without import-based issues.
Somehow the Importer looks only for projects on solution's top-level list. If projects are grouped in folders, they are invisible and not suggested for merging.
Create an executable to let configure the plugin without the need of having Visual Studio installed. It could be then used by build tools or along with Express editions.
One tool could work as a GUI app (potentially even sharing UI with dialogs/option-pages used in Visual Studio).
The second tool could be simply command line get/set/list helper.
Currently, if the path to the project contains a space, build will fail.
The whole makefile generator requires review.
To simplify deployments:
Currently this can be seen in logs. I would imagine a nice popup with a way to quickly point to local debug-token to read the correct one.
1> Info: Failed to obtain QConn connection, sync disabled
1> Info: Sending request: INSTALL_AND_LAUNCH
1> Info: Action: Install and Launch
1> Info: File size: 93544
1> Info: Installing com.example.FallingBlocks.testDev_llingBlocks37d009c_...
1> Info: Processing 93544 bytes
1> actual_dname::
1> actual_id::
1> actual_version::
1> result::failure 881 application author does not match debug token author
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\BlackBerry\Microsoft.Cpp.BlackBerry.Packager.targets(231,5): error MSB6006: "blackberry-deploy.bat" exited with code 2.
There are few MonoBerry projects around (here, here and here), plus Unity3D also exposes their Mono implementation for BlackBerry. It would be a nice-to-have feature to let build C# application targeting BB10 and PlayBook.
It's a bit tricky now to put AuthorName/AuthorID into the templates. Those values are not stored anywhere outside the debug-token, but could be nice-to-have feature to automatically set them, when new project is created.
Solution:
Cache the AuthorName/AuthorID inside the registry settings, whenever this info is read from debug-token. Maybe also add ability to updated in on options page. Then use this cached value whenever required.
New bar-descriptor XSD schema has been applied, so at least this editor doesn't remove all new fields. But it still removes the comments.
Can there be done anything about it?
Additionally, what about:
Currently the BarDescriptor editor only allows adding single files as assets.
It should also expose a button to add a whole folder and let it be renamed.
This feature is mostly required for the future Cascades app support.
All tools are expected to be installed inside ProgramFiles(x86)\BlackBerry\VSPlugin-NDK\qnxtools\bin\
, this path should be specified somewhere in settings or via system registry.
As a developer I want to have a full power over GDB. I would love to have a toolwindow, where I could send ANY command to GDB and see it result. It would then let me use any future features of the debugger.
Currently most of the logs from the plugin and its components is lost (or stored in files at some locations). The expected behavior would be to make usage of the Visual Studio Output window. Plugin could create own section here and print logs there, from:
Nice to have feature - start the known simulator directly from Visual Studio
Uninstaller should call devenv.exe /setup
to clean-up the metadata.
Otherwise lots of dummy errors might occur, if someone tries to continue development after having official version of the plugin installed.
Ideal solution would be to have it first calculated based on executing assembly or similar; if it fails then read from an environment variable and if that also fails - used a hardcoded value.
Branch: feature_ph_refactoring
Add support for C++11 features.
The latest SDK 10.3.0.698 should already support it from the compiler point of view.
More details here.
Currently all the QML files look a bit pale.
It would be nice to have at least some basic keywords and comments in different colors.
In Visual Studio, if one application project add another static library as reference, then the library file and library searching path does not have to be explicitly added in the project setting.
For example, MyApp.vcxproj has reference to MyStaticLib.vcxproj, then you do not need to add
Visual Studio "Exclude from Build" has no effect on BlackBerry Project, the work around is remove those unwanted source code from project, but is not as convenient as use "Exclude from Build".
The editor is not well configured as it tries to open any XML file.
In 99.9% of cases it leads to errors and editor crash, what doesn't look good.
This really breaks the VS coding experience.
Currently this class has stubs for providing info about loaded modules etc.
Could be improved by returning the true values received from GDB.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.