Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-1218

Session management improvements

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • None
    • all

    Description

      The current "Session" concept needs some rework. Session Management is barely usable.

      Items that had been agreed upon at some point of time already and are still valid:

      • We need sessions as a means to interact one or more projects to persist information that are useful in the context of "some person working on some project(s)" but not on a project level. This includes things like breakpoints, bookmarks, open files, etc. [Already implemented]
      • Session information is almost always user-specific, so it should be stored per-user and not committed to of VCS. [Already implemented]
      • Compilation dependencies between projects should be done on the build system level (i.e. in the .pro file). [Not documented, also there is a misleading and insufficient
        "Project dependency" page in Project mode]

      The current Session Manager makes interacting with sessions more difficult than needed.

      Some ideas to improve the situation:

      • Make Sessions the primary means to handle Session data according the definition above. This involves:
      • Transparent use of Sessions for simple use cases:
      • On project creation, create a 'per-project default' session containing that project only.
        If there is already a session with exactly the same content, inform the user and ask for opening the existing one or choosing another project.
      • When closing the only project of such a 'per-project default' session, remove the session as well.
      • On 'open project', ask whether to add to the currently open session or whether to open a new one
      • Avoid user confusion on whether to use Projects or Sessions by removing 'Recent Projects' from the Welcome page.
      • The basic idea is that a user in most cases does not have to care about creating/removing sessions, it should be simply there already.
      • General improvements to Session handling:
      • Enable arbitrary naming of Sessions by making the display name a property of the Session instead of using a file name.
      • If a session is found to contain no projects (or possibly no user created deviations from the 'Default' session), delete it.
        This does not have to be enforced by file system watchers but can happen at sensible points in time, like when the list of Recent Sessions is created for the Welcome
        mode.
      • Provide means to simple 'Session handling' in the Welcome mode.
        There could be e.g. a tool tip showing the list of projects in the session.
        There could be e.g. a context menu with things like 'Remove/rename/clone this session'
      • Add a 'Start with last closed session' preferences and/or a 'Load last session' button in the Welcome mode.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            con Eike Ziller
            hjk hjk
            Votes:
            7 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes