Plugin that adds tabs to QtCreator



  • !http://habrastorage.org/getpro/habr/post_images/788/fe8/22a/788fe822ae2552e7ea313eb878a0d801.png(QtCreator tabs)!

    This plugin add tabs for opened files in QtCreator IDE.

    Plugin allows you to switch between tabs using keyboard shortcuts (ctrl + alt + N keyboard shortcut, where N - key on the numeric keypad).

    Links:
    1. Download dirs on sourceforge with prebuilt plug-in's for QtCreator (version 3.0.0 - 3.xx) for:

    "Windows x32-x64":http://goo.gl/4v6NwL
    "Linux x64":http://goo.gl/qEQhWu
    "Lunux x32":http://goo.gl/N6yv8s
    "Mac OS X":http://goo.gl/psNwXW

    To install plugin you need to unzip archive contents to the directory, where are QtCreator plugins located.
    for Windows usually C:\Qt\Tools\QtCreator\lib\qtcreator\plugins.
    for Lunux-based systems /home/username/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins for installation in home directory or (for example) /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins (for Ubuntu).
    2. Project page on sourceforge: "QtCreator Tabbed Editor Plugin":https://sourceforge.net/projects/tabbededitor
    3. You can also compile plugin from source.
    To get source code from svn repository:
    @svn checkout svn://svn.code.sf.net/p/tabbededitor/src/trunk tabbededitor-src@



  • Update plugin to 0.0.2 version:

    • fix bug, that does not change opened file modification status ( * on the end of filename ) after autosave when build starts;
    • now plugin get colors from QtCreator color scheme (Tools->Options->Environment->General->Color);
    • remove debug output, clean source code.

    Precompiled binaries and source code in repository updated to new version ;



  • Thank you for that. It is very convenient, especially in case switching between ui and source.



  • There are some issues with your plugin.
    with plugin:
    !http://s10.postimg.org/9c7pd1vyt/with.png(with)!

    without plugin:
    !http://s15.postimg.org/dsublo6tj/without.png(without)!



  • Nice work!

    I have done some refactoring to the original code, all my changes are "here":https://github.com/trollixx/qtcreator-tabbededitor-plugin.

    Also there's "an AUR package":https://aur.archlinux.org/packages/qtcreator-tabbededitor-plugin-git/ (it builds from my github repo).

    Some observations:

    • On session restore plugin does not restore a list of tabs.
    • Plugin does not work properly with spitted views. It shows several tabs for the same files in different splits which is confusing, but I don't know a proper solution.
    • Also I would prefer to have an option to show tabbar only above editor (right side of the projects/outline/etc sidebar).


  • I just wanted to try this, but apparently it no longer works. Upon startup I get an error that dependencies couldn't be resolved: "Core(3.0.0)" and "TextEditor(3.0.0)". Sounds like it just needs to be brought up to date?

    Edit: I'm on QtCreator 3.1.2, which is the current/stable version at the time of posting.



  • You can edit 'TabbedEditor.pluginspec' file and change dependency list to 3.1

    @
    <dependencyList>
    <dependency name="Core" version="3.1.0"/>
    <dependency name="TextEditor" version="3.1.0"/>
    </dependencyList>
    @



  • Mac build version is still 0.0.2 while Windows is 0.0.3
    snasoft, any chance to have the latest version on mac?


  • Moderators

    There is Ctrl-K, Ctrl-Tab, Alt-Left/Right, the open documents pane, the dropdown list in the editor toolbar, all allowing you to switch between open documents.

    So why waste space on tabs? All the other ways actually work for more than 5 or so files.



  • It's a rhetorical question but why does Visual Studio support tabs...
    in 1920x1080 I have 12-14 visible tabs there
    it's convenient to see the list of currently opened files
    tab bar height in VS is about 16px



  • Hi
    Does not seem to work with QTCreator 3.2, even after having edited TabbedEditor.pluginspec file i get "D:\Qt\Tools\QtCreator\lib\qtcreator\plugins\TabbedEditor.dll: Cannot load library"



  • Now if only you supported the Shift+Command+{arrowleft/arrowright} to switch the active tab left right that would be awesome. Note this is the same shortcuts used by Terminal and Finder tabs!!



  • An updated version is available "here":https://github.com/serpheroth/qtcreator-tabbededitor-plugin. It can compile for QtCreator 3.2, also two shortcuts are added to switch to neighboring tabs. The shortcut keys can be modified in the QtCreator keyboard setting.

    precompiled binaries for 64-bit QtCreator 3.2 in Linux, Windows and Mac, are available "here":https://www.dropbox.com/sh/9l4mex549dm4fri/AAB1PiTkKnS9bRhuB9_59cxia?dl=0. If you are using 32-bit version of QtCreator, you will need to compile from source.



  • Sperpheroth I am not sure this is usable. I downloaded the OSX precompile and the updated QtCreator 3.2. First I had to change these to:

    @
    <dependencyList>
    <dependency name="Core" version="3.2.0"/>
    <dependency name="TextEditor" version="3.2.0"/>
    </dependencyList>
    @

    Then I still got these errors (hinting at the fact that the dylib name is somehow corrupted with your username):

    @
    /Applications/Qt Creator.app/Contents/PlugIns/TabbedEditor/libTabbedEditor.dylib: Cannot load library /Applications/Qt Creator.app/Contents/PlugIns/TabbedEditor/libTabbedEditor.dylib: (dlopen(/Applications/Qt Creator.app/Contents/PlugIns/TabbedEditor/libTabbedEditor.dylib, 5): Library not loaded: /Users/dj/Qt5.3.2/5.3/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets
    Referenced from: /Applications/Qt Creator.app/Contents/PlugIns/TabbedEditor/libTabbedEditor.dylib
    Reason: image not found)
    @

    and this is how you fix it:

    @
    install_name_tool -change "/Users/dj/Qt5.3.2/5.3/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets" @rpath/Frameworks/QtWidgets.framework/Versions/5/QtWidgets libTabbedEditor.dylib
    install_name_tool -change "/Users/dj/Qt5.3.2/5.3/clang_64/lib/QtGui.framework/Versions/5/QtGui" @rpath/Frameworks/QtGui.framework/Versions/5/QtGui libTabbedEditor.dylib
    install_name_tool -change "/Users/dj/Qt5.3.2/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore" @rpath/Frameworks/QtCore.framework/Versions/5/QtCore libTabbedEditor.dylib
    install_name_tool -change "/Users/dj/Qt5.3.2/5.3/clang_64/lib/QtConcurrent.framework/Versions/5/QtConcurrent" @rpath/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent libTabbedEditor.dylib
    @



  • @tallia1
    would appreciate it if you could explain how to fix it for windows7 and Qt5.3.2.
    trying to compile without any modifications yields among others the following errors for me:

    • \tabbededitorplugin.h:24: error: Plugin Metadata file "TabbedEditor.json" does not exist. Declaration will be ignored

    • \tabbededitorplugin.h:6: error: C1083: Cannot open include file: 'extensionsystem/iplugin.h': No such file or directory

    \tabsforeditorswidget.cpp:4: error: C1083: Cannot open include file: 'coreplugin/actionmanager/actionmanager.h': No such file or directory

    Thanks a lot



  • I know nothing about windows, sorry.



  • Hello. I'm very interested in this plugin. Unfortunately, the precompiled files doesn't work and I don't know how to build from the source, I have the same error:

    • tabbededitorplugin.h:24: error: Plugin Metadata file “TabbedEditor.json” does not exist. Declaration will be ignored
    • \tabbededitorplugin.h:6: error: C1083: Cannot open include file: ‘extensionsystem/iplugin.h’: No such file or directory .bq

    I don't have iplugin.h on my machine. And what is TabbedEditor.json, where can I find it?



  • Hello. I'm very interested in this plugin. Unfortunately, the precompiled files doesn't work and I don't know how to build from the source, I have the same error:

    • tabbededitorplugin.h:24: error: Plugin Metadata file “TabbedEditor.json” does not exist. Declaration will be ignored
    • \tabbededitorplugin.h:6: error: C1083: Cannot open include file: ‘extensionsystem/iplugin.h’: No such file or directory .bq

    I don't have iplugin.h on my machine. And what is TabbedEditor.json, where can I find it?



  • The plugin in its original version does not work for Creator 3.x
    You have to download the fork from github as indicated by Sperpheroth in an earlier post in this thread.
    For me it works perfectly (although with its knowned flaws).
    As a supplemental note, you must download the Creator sources and build it locally too to be able to build the plugin itself, and set two build environment variables (within Creator itself) to build it:
    Set QTC_BUILD to the path of the Creator build directory
    Set QTC_SOURCE to the path of the Creator sources directory

    All this because the plugin format changed completely from Creator 2.x to 3.x.

    I worked a bit on this plugin for Creator 3.3.0 and implemented the part to restore the tabs from the previous session on startup. Still testing it, though.



  • The plugin in its original version does not work for Creator 3.x
    You have to download the fork from github as indicated by Sperpheroth in an earlier post in this thread.
    For me it works perfectly (although with its knowned flaws).
    As a supplemental note, you must download the Creator sources and build it locally too to be able to build the plugin itself, and set two build environment variables (within Creator itself) to build it:
    Set QTC_BUILD to the path of the Creator build directory
    Set QTC_SOURCE to the path of the Creator sources directory

    All this because the plugin format changed completely from Creator 2.x to 3.x.

    I worked a bit on this plugin for Creator 3.3.0 and implemented the part to restore the tabs from the previous session on startup. Still testing it, though.



  • The plugin sources for Qt Creator 3.3.0 with the last session restoration on startup are available here:
    https://github.com/midi-pascal/qtcreator-tabbededitor-plugin
    To build it (under Linux):

    • Download the sources
    • Open the project within Qt Creator 3.3.0
    • Set the two environment variables as I wrote in the previous post in the Project window, Build Environment (Details->Add)
    • Build the plugin
    • Locate libTabbedEditor.so
    • Copy it to the Qt subdirectory: Tools/QtCreator/lib/qtcreator/plugins/
    • Restart Creator
    • Enjoy!


  • The plugin sources for Qt Creator 3.3.0 with the last session restoration on startup are available here:
    https://github.com/midi-pascal/qtcreator-tabbededitor-plugin
    To build it (under Linux):

    • Download the sources
    • Open the project within Qt Creator 3.3.0
    • Set the two environment variables as I wrote in the previous post in the Project window, Build Environment (Details->Add)
    • Build the plugin
    • Locate libTabbedEditor.so
    • Copy it to the Qt subdirectory: Tools/QtCreator/lib/qtcreator/plugins/
    • Restart Creator
    • Enjoy!


  • Would someone be so kind to compile the tabbed editor plugin for me? QTC not having editor tabs really drives me nuts for years now.. unluckily I don't have any luck compiling it myself.. QtCreator 3.3 and on Windows..



  • Would someone be so kind to compile the tabbed editor plugin for me? QTC not having editor tabs really drives me nuts for years now.. unluckily I don't have any luck compiling it myself.. QtCreator 3.3 and on Windows..



  • @bernhardberg

    Sorry, I cannot do that: I have no Windows box.
    However, it could be a good idea to specify which Windows version you are using if you expect someone to do this for you :-)
    Not sure a XP build would fit in a Windows 8 Qt Creator...

    Anyways I can certify the tabbed editor plugin is a major plus to Creator. I use it all day long and could not work without it now.

    Hope someone will do this for you :-)



  • @bernhardberg

    Sorry, I cannot do that: I have no Windows box.
    However, it could be a good idea to specify which Windows version you are using if you expect someone to do this for you :-)
    Not sure a XP build would fit in a Windows 8 Qt Creator...

    Anyways I can certify the tabbed editor plugin is a major plus to Creator. I use it all day long and could not work without it now.

    Hope someone will do this for you :-)



  • whoops. It should read Windows 8 ;-) Yeah, as I said I'd really appreciate it if someone could give me a hand on this as I'm stuck on some questionable compile errors with Qt Creator and I actually would like to spend my limited free time on developing my OSS project rather than fix compile errors.. Editor Tabs would be just a very handy productivity enhancement as I think we all spend too much time browsing through open files rather than working..

    I really don't get why Qt Creator doesn't support this ootb..



  • whoops. It should read Windows 8 ;-) Yeah, as I said I'd really appreciate it if someone could give me a hand on this as I'm stuck on some questionable compile errors with Qt Creator and I actually would like to spend my limited free time on developing my OSS project rather than fix compile errors.. Editor Tabs would be just a very handy productivity enhancement as I think we all spend too much time browsing through open files rather than working..

    I really don't get why Qt Creator doesn't support this ootb..



  • The answer to you last question can be found in Qt Creator FAQ.
    In short: they do not want!

    bq. Why does Qt Creator not use tabs for editors?
    This question comes up from time to time, so we have considered it carefully. Here are our main reasons for not using tabs:
    Tabs do not scale. They work fine if you have 5 to 6 editors open, they become cumbersome with 10, and if you need more horizontal space than the tab bar, the interface does not work at all.
    Tabs do not adapt to your working set.
    The common solution is to give the user the ability to reorder tabs. Now user has to manage tabs instead of writing code.
    Tabs force you to limit the amount of open editors, because otherwise you get confused.
    Consider the following use case: Developers want to switch editors.
    In fact, developers do not want to switch editors, but might have to do so to accomplish their tasks. We need to figure out what the tasks are to provide developers with better ways to navigate while performing the tasks.

    I cannot agree with the last sentence "developpers do not want to switch editors" because YES! I want to switch editors :-).

    That's why I put some time time implementing the the tabs restoration from the last session in the tabbed editor plugin.

    Why not give the choice to the developper?
    If you do not want tabs, do not get the plugin
    If you want tabs, install the plugin and use it

    And most IDE's I know are tabbed editors, too!
    But this is only my own opinion... :-(



  • The answer to you last question can be found in Qt Creator FAQ.
    In short: they do not want!

    bq. Why does Qt Creator not use tabs for editors?
    This question comes up from time to time, so we have considered it carefully. Here are our main reasons for not using tabs:
    Tabs do not scale. They work fine if you have 5 to 6 editors open, they become cumbersome with 10, and if you need more horizontal space than the tab bar, the interface does not work at all.
    Tabs do not adapt to your working set.
    The common solution is to give the user the ability to reorder tabs. Now user has to manage tabs instead of writing code.
    Tabs force you to limit the amount of open editors, because otherwise you get confused.
    Consider the following use case: Developers want to switch editors.
    In fact, developers do not want to switch editors, but might have to do so to accomplish their tasks. We need to figure out what the tasks are to provide developers with better ways to navigate while performing the tasks.

    I cannot agree with the last sentence "developpers do not want to switch editors" because YES! I want to switch editors :-).

    That's why I put some time time implementing the the tabs restoration from the last session in the tabbed editor plugin.

    Why not give the choice to the developper?
    If you do not want tabs, do not get the plugin
    If you want tabs, install the plugin and use it

    And most IDE's I know are tabbed editors, too!
    But this is only my own opinion... :-(



  • Hi, this is old thread but i've been working with another tabbed editor plugin for several months and it does help and is very useful. Having such an option for those who prefer it is not a bad thing, IMHO.

    https://github.com/vseryakov/tabbededitor



  • @tobias.hunger Absolutely agree with Tobias. I usually arrange Windows' taskbar vertically on the left, so that more of the currently running programs ("tabs") could be visible at a time. So the already existing Qt creator opened documents viewer is far more convenient and as Tobias said space saving.



  • Also I would prefer to have an option to show tabbar only above editor (right side of the projects/outline/etc sidebar).Plugin does not work properly with spitted views. It shows several tabs for the same files in different splits which is confusing, but I don't know a proper solution.

    I just wanted to try this, but apparently it no longer works. Upon startup I get an error that dependencies couldn't be resolved: "Core(3.0.0)" and "TextEditor(3.0.0)". Sounds like it just needs to be brought up to date?

    Thanks
    qwikfix.co.uk


  • Qt Champions 2016

    @mariakatosvich
    it most likely need to be compiled with VS 2013.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.