[Qt-creator] GSoC 2018: New feature proposal for Qt Creator
Sree Gowtham Josyula
sreegowthamj at gmail.com
Sat Mar 10 21:15:07 CET 2018
Hello All,
This mail was initially posted in the Qt Development mailing list
<http://lists.qt-project.org/pipermail/development/2018-March/032301.html>,
but I am reposting here, with minor edits, as the audience here are
more appropriate.
I am a Masters Student in Computer Engineering Program at Arizona
State University. I am interested in participating in Google Summer of
Code(GSoC) 2018 with Qt as my mentor organization. Link -
https://blog.qt.io/blog/2018/02/22/google-summer-of-code-2018/
In this mail, I would like to propose a new feature for Qt Creator as
my GSoC project, based on my experience at my previous company.
Issue faced in previous company - In my previous company, we had our
development environment in Windows and target platform as arm-linux
machine. For that, we would develop code on Windows systems and then
sync the project/workspace to the remote linux server and then compile
with the cross-compilation tool-chain there and then deploy on the
target machine elsewhere.
In the above setup we faced the following problems -
1. Unavailability of code completion frameworks on the development
machine as not all the platform headers were available locally
2. Frequently syncing the workspace was a wasteful of time
In order to solve the above problem, I would like to propose a "Remote
System Development Plug-in" for editing, compiling, executing &
debugging files on a remote system on the lines on Emacs Tramp package
(https://www.emacswiki.org/emacs/TrampMode).
High Level Features -
1. Public key registration of development machine on remote machine
(and vice-versa) for seamless syncing of files between the two
machines
2. Setting up a toolkit (Compiler, Debugger, Qt Tool-chain, cmake,
qmake, qbs, sysroot) of a remote machine on the Development machine's
Qt Creator IDE
3. Opening projects of remote machine in development machine (using
the same interface used for opening project on development machine)
4. Automatic syncing of workspace between development machine and
remote machine(on every save & periodically) - could be done using
rsync
5. Compilation of code on the remote machine with the tool-chain setup there
6. Execution & debugging code on Remote machine
7. Supporting Clang based code completion, got-definition &
refactoring - Might need to run a clang-daemon/Language Server on the
remote machine and send the responses to development machine.
Kindly let me know your thoughts about my above idea.
Best Regards,
Gowtham
(Sree Gowtham Josyula)
More information about the Qt-creator
mailing list