Resources for extending and enhancing Eclipse CDT C++ Support [closed] - eclipse

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Where are good and current resources for anyone hacking on the CDT (C/C++ development toolkit) for Eclipse? In particular, I would like to know more about the internal architecture and structure of the C++ parser, and how the AST, DOM, PDOM, Models, and UI interrelate and interact. My interest is in adding support for extensions to C++ to the CDT environment.
Many of the resources that are found via google are obsolete: I would like information about the current state of CDT e.g. CDT 6.0.x or 6.1.x, roughly Eclipse 3.5 and 3.6. The code base, while seemingly well structured, is large, complex and sparsely commented / documented.
Any sort of information useful to a programmer working on the CDT C++ support with respect to the CDT editor and outline views would be appreciated.
Resources I have found are:
The blog of CDT developer Doug Schaefer is one.
The CDT-dev mailing list is another, and the homepage of the CDT project has a developer section too.
Getting started with CDT development.
and a section on programming against the CDT in the User FAQ.
There is also an overview of parsing.

My first stop on anything like this I want to do has always been:
The Eclipse Corner Articles
Here you will find the best articles on any subject within eclipse. However, it is not extensive, and articles may be outdated (but not often). Do remember that even old articles for previous versions of Eclipse may still give an accurate representation of the current situation, and often just a few minor things have changed.
If I remember correctly from a plug-in I wrote my self several years back, the architecture of the CDT AST and family is very similar to the JDT so it may help to expand your search to include the Java equivalents.
I do wish you good luck, because as you said the CDT is sparsely documented, and you will have to figure some things out on your own. Also the quality of the code in Eclipse varies wildly, although the central modules (of which JDT and CDT are two) are quite good if I remember correctly.

Related

Swift code to class diagram [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 11 months ago.
Improve this question
Is there a way to generate UML Class diagram for swift programming language? I found that the Mac A&D tool claims to be able to scan the swift code and create a class diagram. And there is a video to introduce it.
https://wn.com/swift_code_to_class_diagram
Unfortunately, it is not free. I wonder if there is another free tool to generate class diagram automatically. Could you guys help me? Thanks in advance.
UML class diagrams for Xcode (swift programming)
I recently found a free tool, that gets you a decent start on this.
Take a look at this tutorial https://martinmitrevski.com/2016/10/12/swift-class-diagrams-and-more/
and here is the github repo https://github.com/yoshimkd/swift-auto-diagram.
I found its best if you open the diagram.html in chrome vs firefox. And if you see the little circles, just let it run until its finished. It takes a few minutes on my project.
There are a number of free and open-source tools but those often require the user to manually install additional dependencies (e.g. NodeJS, Graphviz or Python). Some of the projects are no longer maintained and are limited when it comes to functionality. And none of these tools were written in Swift.
So I started to work on such utility myself.
Xcode extension: https://github.com/MarcoEidinger/SwiftPlantUML-Xcode-Extension
You are able to generate a class diagram from selected lines of code or from a whole file displayed in Xcode. The class diagram will then be opened in your browser. There you can modify the diagram with PlantUML notation
To generate a class diagram from multiple source files you can use the underlying CLI tool and Swift Package: https://github.com/MarcoEidinger/SwiftPlantUML
There is a size limitation to the visible diagram content (but you can delete content in the browser with PlantUML notation)
I found a tool that works quite well for swift projects: https://swiftalyzer.com
It's free but time limited.

Netbeans project documentation [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
lazy dont have to read this
I have to work on an old netbeans project which is kinda messy. The previous autor changed a lot in some .properties and .xml files and add ant scripts. (Aplication is designed for Websphere, and it have some requirements)
Unfortunatly today doesn't work. Some important values was stored in private.properties (I dont know what exacly was), ant script don't run, and few versions issue apper. So first I have to tidy this mess, but I dont know about netbeans project well. Unfortunatly I have problem to find documentation to all of it.
Netbeans project is based on ant project. Fortunatley ant have manual here: http://ant.apache.org/manual/index.html . But (I assume that) 'nbproject' folder and its inner files are not part of ant project. I can't find documentation about it. Maybe I blind or something, but I didn't found it on NetBeans side. IMHO netbeans side is kinda messy as well.
straight to the point
I am searching for documentation for netbeans project, where will be written about files project.xml, project.properties etc. What they contain and even how to write them on your own.
This document explains freeform project configuration in detail. You should be able to find what you need in there. If I were in your position, I would create a new project that has all the frameworks like your original project and then look at the project metadata files of the new project for some direction. IMO this is far easier than trying to author the project.xml files from scratch.
http://netbeans.org/kb/articles/freeform-config.html

MVC Gui Design Plugin for Eclipse [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I am searching for an Eclipse plugin which supports drag and drop functionality to build a GUI
and
supports immediate and automatic embedding within a MVC (model view controller) structure. Any ideas?
WindowBuilder is free, simple and not cumbersome. It also supports binding and synchronization of model pojo objects taking some of the MVC pains away.
I find it quite pleasant to work with as it does not places itself at toe forefront like most other similar editors will. It does not embed strange files that serve no other purposes than to serve the editor, rather it uses directly the java source file as it's backing persistence and it does so in a very clean way compared to say visual Studio with an MFC project.
It does have some quirks though, especially with Maven as some of the dependencies are sometimes hard to find. Personnaly I package them as a single jar and added it dynamically to the build through some clever hacks inspired largely by other members of the present community :-)
Give it a try, may not be the uber cadillac with shiny chromed everything but it does work well and stays out of the way when you don't need it.

Examples of how to visualize a versioning system? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
My shop is trying to formalize the release management process for an OSS product we maintain (edit: using SVN for version control). It's a sort of a web development framework/CMS kind of thing, as in it's a product that other projects are built on top of. This makes clear communication about the versioning system especially critical for developers that are using the tool.
I'm hoping to find some examples of how best to graph this system so we can communicate it better internally and with outside developers. I know there are lots of standards and best practices around versioning, so I'm hoping this extends to some sort of visual vocabulary as well. As one example, there is a nifty graph at http://en.wikipedia.org/wiki/Versioning#Software_Versioning_schemes. Are there any guides out there on how these sorts of things should be designed?
First, if it is an OSS project, chances are the versioning system ism a Distributed one (DVCS)
If so, then this branching model can be of interest.
The idea is to control what you want to integrate from remote repos.
alt text http://nvie.com/wp-content/uploads/2009/12/Screen-shot-2009-12-24-at-11.32.03.png
I need this too. The built-in graph in Tortoise SVN is too busy, but I've made use of it. But for soemthing like VonC's picture above, I think I'm going to go with a dry erase board and colored markers. I'll hang it outside my cube. Annotate it with revs, dates, sprints and projects, and we'll be all set.

Versioning library like SQLite database library? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I like how SQLite library can be included into an application and the application has a full-fledged database to use.
Similarly, is there an open source versioning library that I can include into my application so that I can save versions of files as well as do diffs and merges?
SVN doesn't require any prerequisites on end user machine. You can embed SVN right into you app. To learn more on subversion integration, visit "Application Integration/Embedding" thread on SVN forum.
Answering my question myself, I recently discovered hgshelve and gitshelve that is almost exactly what I was looking for.
I am not entirely sure what you mean by "included in an application", as you could potentially deliver any library so long as the licensing allows. Are you referring to the fact that sqlite is small or that it is public domain?
Mercurial is a similarly lightweight piece of revision control software. If you are writing your application in python, which is likely since python now includes sqlite3, importing features directly from mercurial's source code should not be too difficult. Otherwise there's no shame in invoking commandline processes, though this may be clunkier. Mercurial is not public domain, but it is GPL'd.
Mercurial is also my personal favorite among modern revision control systems. It's leaps ahead of CVS and Subversion, and very similar to GIT although somewhat simpler to use.
You might want to look at fossil, an scm tool written by the author of sqlite. I don't know how easy it is to embed, but it is a single file executable so it should be quite easy to run from within your application.
Arguably, running it as a seperate process might actually be better than embedding since it won't slow down your app while it does what it does.
In my opinion Firebird is one of the best choices for embedded DB scenarios.
Also Microsoft SQL Server Compact (closed source, but free) might be suitable, however it less capable than Firebird.
EDIT:
I misread you question. If you don't need RDBMS, you can try to embed SVN to your application.