~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to doc/api/FutureTasks.dox

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2006-05-23 18:39:42 UTC
  • Revision ID: james.westby@ubuntu.com-20060523183942-hucifbvh68k2bwz7
Tags: upstream-3.3.2
Import upstream version 3.3.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** \file FutureTasks.dox
 
2
  * \brief Future tasks and ideas for the next release of KDevelop
 
3
  */
 
4
/** \page FutureTasks Future tasks and ideas for the next release of KDevelop
 
5
 
 
6
\section codereftodo Code Refactoring / Improvements:
 
7
 
 
8
  - Core
 
9
    - Make sure all lib interfaces are available via DCOP
 
10
    - Find a nicer way to remove dynamic menu entries from context menus
 
11
    - Resolve the path handling mess 
 
12
    - Project name should be able to contain spaces
 
13
    - Import existing directory: Should be named "Import existing project"
 
14
      and more intuitive (wizard-like)
 
15
      - Question from the wizard: "I have found C++ files in your
 
16
        project directory. Should C++ be the primary language of your
 
17
        project?" User: [Yes/No] => Next Step...
 
18
      - Something intuitive for the binary/-ies (for debugger and
 
19
        execution of program), libtool ([Yes/No] for the debugger), build
 
20
        tool (qmake, automake,...?), etc.., too.
 
21
    - use mimetype to determine code files, not extension
 
22
      (see bug #
 
23
    - Make the help buttons (that we already have) open the KDevelop Handbook on
 
24
      the correct page (or the index if the subject is not covered yet).
 
25
    - New and improved VCS framework (Needs better description)
 
26
    - Another look at the plugin system (Nees better description)
 
27
    - Another look at the project files (shared, non-shared, session)
 
28
    - fix(redesign?) project language switching
 
29
    - editor handling could be made a bit saner if editor plugin switching was an after-restart-only feature
 
30
    
 
31
  - Programming Language Support Parts
 
32
    - Create base classes for language support parts:
 
33
      - AntlrLanguageSupport
 
34
      - AntlrBackgroundParser
 
35
      - AntlrProblemReporter
 
36
    - Same for:
 
37
      - YaccLanguageSupport
 
38
      - YaccBackgroundParser
 
39
      - YaccProblemReporter
 
40
    - There is a possibility to create even something like
 
41
      - LanguageSupportBase
 
42
 
 
43
    Look at java, pascal and ada support parts to get more inspiration. 
 
44
    There should be base classes for ada, java and pascal language supports - too much code duplication.
 
45
 
 
46
    - CppSupportPart
 
47
      - Extended "make member" functionality - run on a .h to implement stubs for all unimplemented non-abstract methods
 
48
      - Code Refactoring
 
49
    - text hint type info tooltips (edit mode)
 
50
    - text hint value info tooltips (debug mode)
 
51
    - Make the language plugin know stuff like what file patterns to look for (for instance, "find in files" needs this)
 
52
    
 
53
  - Build tools Parts
 
54
    - Show .po files in project management
 
55
    - Custom actions for groups, targets and files for project managers:
 
56
      - any menu item should be a KAction plugged into KPopupMenu, also we need to define shortcuts for any such action,
 
57
        also we should make sure those actions are properly executed from a shortcut.
 
58
    - AutoProjectPart
 
59
      - Should be able to DND files from other targets / file list / konq to add to targets
 
60
      - Should loose the experimental crashy and nonstandard "add files" dialog
 
61
      - Update configure.in when sub projects are added and the project doesn't use am_edit
 
62
    - Keep the correctly cased project name and save it to the project file
 
63
 
 
64
  - Debugger Parts
 
65
    - Create a debugger support base classes. Make the current GDB support a plugin.
 
66
    - Implement parts for other debuggers i.e. DBX, WDB, Ladebug, JDB, XDB, bashdb, the Perl debugger, or the Python debugger.
 
67
      We can use DDD as inspiration.
 
68
    - General debugger
 
69
      - variable widget
 
70
        - set variable by editing the value in the tree
 
71
        - cast value by editing the type in the tree
 
72
      - disassembly
 
73
        - add breakpoint display
 
74
        - set breakpoint by selecting a line as in the edit window
 
75
        - allow scrolling of disassembled code about and below current limits
 
76
        - add source to disassembled code as comments
 
77
        - basically just re-work the whole disassemble window :)
 
78
      - Bugs
 
79
        - Fix "core file" handling
 
80
        - Fix "attach to" handling
 
81
        - Breakpoints can disappear at odd times
 
82
        - When the target program crashes, the debugger can't be started again. (intermittant?)
 
83
        - Break on method() - could have multiple methods which require a choice. How to handle this?
 
84
 
 
85
 
 
86
  - Plugins
 
87
    - DocTreeViewPart
 
88
      - Implement plugin system for doctreeview.
 
89
      - improve documentation browsing
 
90
      - Check if a man page exists before offering the context menu item 'Goto manpage'
 
91
      - right click -> set as bookmark in docviewer
 
92
    - ClassViewPart
 
93
      - Implement language-dependant plugin system for classview:
 
94
      - namespaces/classes/functions are not always applicable to a language, we need a way to correctly
 
95
        fill a class view and combo boxes - only a language support can do that properly.
 
96
      - Distinguish vanilla c++ support from c++ + Qt extensions and show signals/slots in the class view only with Qt. (is this still valid?)
 
97
    - KonsoleViewPart
 
98
      - Perhaps use konsole part for the application frontend
 
99
      - cd's when selecting a file, but doesn't when selecting a dir,
 
100
        desired: a menu option to "cd" to that directory
 
101
    - QEditor
 
102
      - Replace editors/qeditor/koReplace.* and editors/qeditor/koFind.* with kdelibs/kutils/kreplace.* and kdelibs/kutils/kfind.*
 
103
 
 
104
    
 
105
\section extensiontodo Extensions / New Functionality:
 
106
 
 
107
  - Core
 
108
    - implement multiple-views per document (why?)
 
109
    - Document manager (not obviously useful)
 
110
    - Implement Add Plugin 
 
111
    - Show intro page on startup
 
112
  - Programming Language Support Parts
 
113
  - Build tools Parts
 
114
  - Plugins
 
115
    - better sourcenav part (all navigation tools should be supported with at least a "back" action - forward much less important)
 
116
    - Integrate kontact's TODO-List and knotes plugin. (We need something like a
 
117
      server/client system that all the knotes/toto-clients are always synced.)
 
118
    - a generic macro-tool (if possible, probably best implemented as a KTE plugin)
 
119
    - Free grouping of files in file group plugin
 
120
 
 
121
 
 
122
\section misctodo Miscellaneous (and possibly invalid) items:
 
123
   
 
124
  - UI bugs
 
125
    - Editor options dialog missing when all views are closed (virtually impossible to fix)
 
126
    - If you click an error in the output view, "Next Error"/"Previous
 
127
      Error" should then start from that point (already implemented?)
 
128
    - Messages in status bar would look nicer if they appeared with
 
129
      the same border as other items (impossible)
 
130
    - Browser tool bar should truncate long menu entries so it doesn't
 
131
      take so much space (already implemented?)
 
132
    - Extend KDevPlugin-API in order to have a preferred border for at
 
133
      least the selection parts (Automake Manager, Class Browser, File
 
134
      Groups, etc...)
 
135
 
 
136
*/