2021-05-07 13:50:26 -04:00

77 lines
4.2 KiB
Plaintext

Platform:
Auto Save:
Every n seconds (where n is an Application Setting defined by user),
the platform should automatically save the current document in the
user's profile settings folder. Upon a successful exit of the
program, these temporary ocuments should be deleted. If there are any
documents in this folder the next time the application starts up,
prompt the user to either recover them or delete them. (An "Ask Me
Later" option would simply leave the documents in the folder and
flag them for no-deletion / prompt again upon application exit)
Batch Find / Replace:
I implemented this back in 2009 for my high school business class Inventory Management System, Starware IMS (source code has since disappeared).
The Universal Editor implementation should be an Editor-level API that returns search results in the form of an array of EditorSelection instances.
This way the platform can handle the heavy lifting of searching through the ObjectModel, and just pass in the array of EditorSelection to the Editor for it to highlight.
Syntax Editor:
CSS: MonoDevelop does not squiggle-highlight invalid CSS property names. This should be a feature.
Compression:
CompressionModule.FromKnownCompressionMethod should use reflection to determine the CompressionModule to create and return
FormattedText:
not all FormattedTextItems should contain text literals; move Text property to FormattedTextLiteral
Platform:
Migrate UniversalEditor.ExpandedString to MBS.Framework
[#1] Determine whether to remove ProjectTypeVariable in favor of using existing functionality like CustomOptions
Platform:
* Rewrite Settings (Options, Preferences, etc...) to use UEXML definitions (which we have already)
* Newer versions of MSO use settings dialog eerily similar to GNOME3... perhaps a redesign is in order
* This MIGHT be better suited to UWT, which handles the current settings load/save, see MBS.Framework.UserInterface / SettingsProvider
* Finish implementing project/document template variables, project type variables, etc.
* Determine how to handle project task actions
* Each file in a project should have file-specific actions (BuildAction = Compile, Content, EmbeddedResource, etc.)
* Entire project should have project-specific actions? Or just use file-specific actions?
* Implement UE Packages (*.uepack) in Essential - READ DONE
* These are ZIP files that contain all the XML and compiled binary files for DataFormats, ObjectModels, etc.
* NOTE: Accessors cannot be made runtime-independent since they require interfacing directly with sources of data (e.g. FTP server, local file...); DataFormats and ObjectModels should be implemented in markup, but Accessors simply cannot be.
Editor:
* Provide PropertyGridSettings to communicate property changes using the UniversalEditor PropertyGrid control
FileSystemEditor:
* Prevent icon loader from running until DataFormat is finished loading
* Pressing F2 should initiate a "rename" operation (almost every respectable file browser already supports this)
* * Requires additional features in AwesomeControls ListView... specifically, BeginEdit() like WinForms ListView
FARCDataFormat:
* Fix saving (might actually work, see above note about FileSystemEditor and icon loader)
UniversalEditor Projects:
* "Live folders" - project folders are automatically populated with their physical folder contents when project is loaded
Select folder, set "Live folder" = "True" in Properties panel
Project file Tasks and TaskActions:
ExecutableTaskAction
- Run the given program with the given parameters
FileSystemTaskAction
- Combine multiple selected files into one
OutputObjectModel = FileSystemObjectModel
User specifies OutputFileName and OutputDataFormat
Support multiple TaskActions for a Task, i.e.
<Task Title="Compile">
<TaskActions>
<TaskAction TypeID="..." />
<TaskAction TypeID="..." />
</TaskActions>
</Task>
If any one of the TaskActions fails, the task is terminated.
Document Tabs:
* Dragging items over document tabs should cause the active tab to switch to the tab being dragged over. As of 2012, Visual Studio does not support this ;)
* This (dragging text from a text editor across tabs) appears to be fixed in VS2013, or the original post could be about a completely unrelated phenomenon