This document contains possible
work items to improve the externalization of strings. It is under
continuous refinement. Feedback welcome.
Last edited: 19.07.2005
Possible Work Items
- improve Java Editor
3.1 navigate from selected key in Java editor to definition in properties file editor
- navigate to start of file if the key is not yet defined
3.1 show value when hovering over key in Java editor
3.1 show value as is in the properties file
- show value as returned by the accessor class (substitute parameters with defaults)
- offer a new Quick Fix to mark all strings on a line as non-externalizable at once
- offer a new Quick Fix which externalizes just that string
- ideas:
- open corresponding properties file, add key, be in linked mode in CU editor
- make it a refactoring
- allow to type the key at the place of the string and add the new code
- the hover which shows the value is an action hover which allows to change the value
- should support parametrized strings (see below)
- provide a Quick Assist to rename a property key and all places where it is used
- allow to invoke the NLS Quick Fixes even if NLS warning is disabled (⇒ Quick Assists?)
- improve Properties File editor
3.1 syntax coloring for Properties File Editor (comments, keys and values)
3.1 provide separate double-click strategy for key and value part
3.1 navigate from selected key and value in properties file to location in Java editor and Plug-in Manifest editor
3.1 spell checking
- ensure correct ISO-8859-1 encoding when writing a properties file. Convert to ascii upon save. If using native2ascii tool a preference is needed to specify it (try to auto-detected).
- allow to sort alphabetically
- allow to group by first common prefix up to a specified separator (preference)
- context-sensitive search: Search Reference
- provide a Quick Assist to rename a property key and all places where it is used
- problem reporter which reports temporary problems (builder might be added later)
- duplicate keys
- unused keys
- invalid format strings being passed to MessageFormat causing IllegalArgumentException
- offer Quick Fixes to solve above errors:
- remove unused key (plus value)
- correct invalid strings that cause MessageFormat to fail
- offer folding via first common prefix up to a specified separator (preference)
- offer an Outline (request from Adam - asked him via e-mail)
- along a separator (e.g. . or _) or common prefix
- allow to add, remove, paste, sort, ...
- allow to change the value
- improve Externalize Strings wizard
- spell checking
- ensure correct ISO-8859-1 encoding when writing a properties file. Convert to ascii
upon save. If using native2ascii tool a preference is needed to specify it (try to auto-detected)
- improve setting of default values
- improve accessor class (and properties file) selection dialog
- replace it: instead of a dialog make it the first page of the wizard
- add an Advanced >> button
- correctly fill in values (detect and make read-only if accessor class has been chosen)
- find duplicate keys: currently the scope is limited to the keys inside the CU instead of the whole properties file
- keep a history of values, especially which property file belongs to which accessor (if it can't be detected from the accessor)
- support parametrized strings:
- allow to generate accessor method with parameters
- suggest string with {0}, {1}, ...
- correctly pass the parameters to the accessor method
- improve NLS Search
- improve setting of default values in NLS Search page
- reduce wrong matches reported by NLS Search
- improve visibility (the tool is not well known)
- possible solution: integrate NLS Search into the Externalize Strings wizard or the new Java Properties view
- improve property handling when moving and copying CUs
- add refactoring, move and copy participants which help take care of properties
- offer a command to inline the property values into the CU
- this is already available as "Internalize" from the Externalize Strings wizard
- problems:
- comments might get lost
- keys might have to be entered again
- for one CU and it CU members
- for multiple CUs i.e. for a selection with CUs, packages, source folders and projects
- provide a builder which generates
- problems on properties files for unused keys
- problems on properties files for duplicate keys
- problems on properties files for invalid format strings being passed to MessageFormat
- problems on CUs for non-existent keys
- problems on CUs for unused keys
- investigate
- provide the functionality of the Externalize Strings wizard through a new Java
Properties view which allows to externalize the strings of the
currently selected element
- make the NLS hover an action hover: user can activate it and directly change the value
- add a preview to the Properties File editor which shows the file in ascii mode
- show the UI (e.g. error dialog) where a select a property is used
- NLS manager which allows to manage key/values per Java project / plug-in
- show all key/values, find duplicate values, allow to cut/copy/paste key/value pairs
- find all unused keys
- fix spell check errors
- find duplicates
|