[Qt-creator] GSoC 2018: New feature proposal for Qt Creator

Ariel Molina ariel at edis.mx
Wed Mar 21 23:52:22 CET 2018


Hi,

I see you are inclined to do VFS on QtC. Would you be interested in
properly patching and improving the QRC system in QtC? There are several
improvements to be done.

Also, there are huge fixes on QMLPuppet and QML editor that would be
awesome to have, like proper picking, proper smart alignment and even
patches to live editing.

Ariel

On Wed, Mar 21, 2018 at 2:32 PM, Sree Gowtham Josyula <
sreegowthamj at gmail.com> wrote:

> Hi Tobias,
>
> Thanks for the feedback. I have also been a little skeptical about
> implementing the proposal in entirety in the GSoC time frame of 100
> days. However, I have put my thoughts elaborately in the proposal to
> convey what I had in my mind and the direction I would like to proceed
> in.
>
> As you have suggested, I have cut down my initial proposal to the
> following features -
>
> 1. Writing a filesystem wrapper for access of files to remote system
> 2. Support editing of remote files and syncing them via rsync
>
> Future Work (Not in Scope for GSoC 2018)
> 1. Version control support
> 2. Support for goto-definition, code refactoring and on-fly syntax checking
> 3. Setting up of Toolchain of Remote Machine on Development Machine
> 4. Build and Debugging of code
>
> Any thoughts, comments and suggestions on above proposal?
>
> Thanks.
>
> Best Regards,
> Sree Gowtham J
>
> Best Regards,
> Sree Gowtham Josyula
> Mobile: +1 (623)-216-8029
>
>
> On Wed, Mar 21, 2018 at 6:32 AM, Tobias Hunger <tobias.hunger at gmail.com>
> wrote:
> > Hi Sree!
> >
> > I think you are seriously underestimating the task at hand. I do not
> > see how you will do all this in the timeframe set by google for GSoC.
> >
> > One step in the direction you are aiming at is to implement a
> > filesystem wrapper and introduce that into creator. That is a gigantic
> > task in itself.
> >
> > Best Regards,
> > Tobias
> >
> > On Wed, Mar 21, 2018 at 10:59 AM, Sree Gowtham Josyula
> > <sreegowthamj at gmail.com> wrote:
> >> Hello Everyone,
> >>
> >> Thanks for your interest and suggestions in my proposal. With your
> >> suggestions, I have modified my initial idea. Please find the modified
> >> idea in the link below.
> >> Link - https://docs.google.com/document/d/
> 1hC2rTrDN5UvgpS57S5ixLiuJUSdR0KPRfNE9wPm1hc8/edit?usp=sharing
> >> I am posting content of the above link below for your convenience -
> >>
> >> Title - Remote System Development Plugin for Qt Creator
> >>
> >> Keywords
> >> 1. Development Machine - This is the machine where the user interacts
> >> directly with Qt Creator IDE for development tasks (editing,
> >> compilation and debugging). The development tasks are triggered
> >> directly by user using the IDE interface on this machine.
> >> 2. Remote Machine - This is the machine to which the development tasks
> >> are routed by the Qt Creator IDE of Development Machine to perform the
> >> development tasks and results of which are returned to the user to be
> >> displayed on the Development Machine.
> >>
> >> Summary
> >> In order to enable development of a Qt and C++ projects on a remote
> >> machine, this Qt Creator IDE plugin enables editing, compiling and
> >> debugging of a project on a remote machine via the development
> >> machine, supporting existing Qt Creator IDE features like version
> >> control, code-completion, syntax-highlighting, goto-definition,
> >> code-refactoring and syntax-parsing.
> >> Link to discussion on Qt Creator mailing list -
> >> http://lists.qt-project.org/pipermail/qt-creator/2018-March/007159.html
> >>
> >> Features
> >> 1. IDE Interface for public key registration of development machine on
> >> Remote Machine for seamless syncing of files between the two machines
> >> via ssh. Also, making an extensible interface to support adb, sdb in
> >> future
> >> 2. Interface for setting up a toolkit (Compiler, Debugger, Qt
> >> Tool-chain, cmake, qmake, qbs, sysroot) of a Remote Machine on the
> >> Development Machine's IDE
> >> 3. Opening projects of Remote Machine in Development Machine (using an
> >> interface identical to the one used for opening project on Development
> >> Machine)
> >> 4. Automatic syncing of workspace between Development Machine and
> >> Remote Machine(on every save & periodically) - to be implemented using
> >> rsync
> >> 5. Compilation of code on the remote machine with the tool-chain setup
> there
> >> 6. Execution & Debugging code on Remote Machine or Target Machine
> >> 7. Supporting Clang based code completion, goto-definition &
> >> refactoring. Clang will run on the development machine
> >> 8. Provide Version Control interface for the project in Development
> >> Machine and perform corresponding actions on Remote Machine
> >> 9. Support multiple platforms(Windows, Mac, GNU/Linux) for the
> >> Development Machine and Remote Machine environment
> >>
> >> Plausible Difficulties
> >> 1. Writing a filesystem wrapper for handling access of files on remote
> >> system -  This change could impact multiple other plugins and it needs
> >> to be thoroughly tested for multiple use-cases
> >>
> >> Mentor -
> >> To be decided
> >>
> >> Kindly share your thoughts, comments and suggestions on the same.
> >>
> >> With Best Regards,
> >> Sree Gowtham Josyula
> >>
> >> On Tue, Mar 13, 2018 at 2:20 AM, Riitta-Leena Miettinen
> >> <Riitta-Leena.Miettinen at qt.io> wrote:
> >>> Hello,
> >>>
> >>> Creating custom compilers is documented here:
> http://doc.qt.io/qtcreator/creator-tool-chains.html#
> adding-custom-compilers
> >>>
> >>> Leena
> >>>
> >>> ------------------------------------------------------------
> ----------------------------------------------------------
> >>> Leena Miettinen
> >>> Documentation Engineer
> >>>
> >>> The Qt Company Germany GmbH
> >>> Rudower Chaussee 13
> >>> D-12489, Berlin, Germany
> >>> Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho
> >>> Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht
> Charlottenburg, HRB 144331 B
> >>> riitta-leena.miettinen at qt.io
> >>> +49 30 63 92 3255
> >>> http://qt.io
> >>>
> >>>> -----Original Message-----
> >>>> From: Qt-creator [mailto:qt-creator-bounces+riitta-leena.miettinen
> =qt.io at qt-
> >>>> project.org] On Behalf Of Eike Ziller
> >>>> Sent: Dienstag, 13. März 2018 10:00
> >>>> To: Sree Gowtham Josyula <sreegowthamj at gmail.com>
> >>>> Cc: qt-creator at qt-project.org
> >>>> Subject: Re: [Qt-creator] GSoC 2018: New feature proposal for Qt
> Creator
> >>>>
> >>>>
> >>>> > On Mar 13, 2018, at 09:54, Sree Gowtham Josyula
> >>>> <sreegowthamj at gmail.com> wrote:
> >>>> >
> >>>> > Hi Orgad,
> >>>> >
> >>>> > I do not understand what you mean by a custom compiler. Is it some
> >>>> > sort of a script on development machine which returns the same
> values
> >>>> > as the remote compiler when queried with -v and -dM flags? What is
> its
> >>>> > significance?
> >>>>
> >>>> In Qt Creator settings (Build & Run > Compilers > Add > Custom) you
> can create
> >>>> a “custom” compiler, manually specifying ABI, predefined macros,
> system
> >>>> include paths etc.
> >>>> Then you can set that as a compiler for the kit, to make code
> completion work
> >>>> with these values.
> >>>>
> >>>> Br, Eike
> >>>>
> >>>> >
> >>>> > On Tue, Mar 13, 2018 at 12:41 AM, Orgad Shaneh <orgads at gmail.com>
> >>>> wrote:
> >>>> >> On Mon, Mar 12, 2018 at 11:33 PM, Harri Pasanen <harri at mpaja.com>
> >>>> wrote:
> >>>> >>>
> >>>> >>>
> >>>> >>>
> >>>> >>>> On Mar 12, 2018, at 4:32 PM, Konstantin Tokarev <
> annulen at yandex.ru>
> >>>> >>>> wrote:
> >>>> >>>>
> >>>> >>>>
> >>>> >>>>
> >>>> >>>> 12.03.2018, 15:46, "Orgad Shaneh" <orgads at gmail.com>:
> >>>> >>>>> On Mon, Mar 12, 2018 at 1:38 PM, Sree Gowtham Josyula
> >>>> >>>>> <sreegowthamj at gmail.com> wrote:
> >>>> >>>>>> Hi André & Everyone,
> >>>> >>>>>>
> >>>> >>>>>> Thanks for showing interest in my suggestion.
> QTCREATORBUG-16246
> >>>> is
> >>>> >>>>>> indeed almost like what I had intended in my previous mail.
> >>>> >>>>>>
> >>>> >>>>>>> * Would it be enough to have the files on a network share
> instead of
> >>>> >>>>>>> rsync'ing them?
> >>>> >>>>>>> * Is it really needed to have Clang running on the remote
> machine?
> >>>> >>>>>>> Would it be enough to have access to the included headers on
> >>>> remote?
> >>>> >>>>>>
> >>>> >>>>>> I think Network share you suggest is a good idea. It solves
> both of
> >>>> >>>>>> the above issues. With network sharing, we wouldn't need rsync
> and we
> >>>> >>>>>> wouldn't need to run clang on remote machine.
> >>>> >>>>>>
> >>>> >>>>>> I will refine my initial proposal and put forth a more detailed
> >>>> >>>>>> proposal considering your suggestions and more use-cases asap.
> >>>> >>>>>> If you have any other thoughts and suggestions, kindly let me
> know.
> >>>> >>>>>
> >>>> >>>>> Hi,
> >>>> >>>>>
> >>>> >>>>> I strongly suggest not to use network share. We tried that
> several
> >>>> >>>>> years ago (with SMB), and it was awful. Parsing takes forever
> over the
> >>>> >>>>> network. Working locally and using rsync before build works
> much better
> >>>> >>>>> (once you have ssh keys set up).
> >>>> >>>>>
> >>>> >>>>> We have a local partial copy of the sysroot, which includes the
> include
> >>>> >>>>> directory, and the shared libraries that are linked with our
> application
> >>>> >>>>> (for each platform we support).
> >>>> >>>>
> >>>> >>>> Why not to go further and get full copy and toolchain locally?
> >>>> >>>>
> >>>> >>>
> >>>> >>> Network share would in a proper setup be the local disk of the
> compilation
> >>>> >>> server.
> >>>> >>>
> >>>> >>> Also, one cannot copy locally the toolchain if the server is
> different OS,
> >>>> >>> unless a cross compilation environment is setup, which in itself
> is a major
> >>>> >>> piece of work.
> >>>> >>
> >>>> >>
> >>>> >> That's right. What we did was to create dummy compilers that
> return the
> >>>> same
> >>>> >> values as the real compiler when called with -v and -dM etc. This
> is no
> >>>> >> longer needed, as a "custom compiler" can be created instead.
> >>>> >>
> >>>> >> I suggest to read the values from the remote compiler, and create
> a local
> >>>> >> custom compiler with the same values (except include directories
> which
> >>>> >> should be adapted to the local sysroot location).
> >>>> >>
> >>>> >> - Orgad
> >>>> > _______________________________________________
> >>>> > Qt-creator mailing list
> >>>> > Qt-creator at qt-project.org
> >>>> > http://lists.qt-project.org/mailman/listinfo/qt-creator
> >>>>
> >>>> --
> >>>> Eike Ziller
> >>>> Principal Software Engineer
> >>>>
> >>>> The Qt Company GmbH
> >>>> Rudower Chaussee 13
> >>>> D-12489 Berlin
> >>>> eike.ziller at qt.io
> >>>> http://qt.io
> >>>> Geschäftsführer: Mika Pälsi,
> >>>> Juha Varelius, Mika Harjuaho
> >>>> Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht
> Charlottenburg, HRB
> >>>> 144331 B
> >>>>
> >>>> _______________________________________________
> >>>> Qt-creator mailing list
> >>>> Qt-creator at qt-project.org
> >>>> http://lists.qt-project.org/mailman/listinfo/qt-creator
> >> _______________________________________________
> >> Qt-creator mailing list
> >> Qt-creator at qt-project.org
> >> http://lists.qt-project.org/mailman/listinfo/qt-creator
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator
>



-- 
Ariel Molina R.

Oficina: +52 (222) 3723196
Movil: +521 2226 758874
http://edis.mx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20180321/dea0f0e9/attachment.html>


More information about the Qt-creator mailing list