SWT KeyStroke to String - eclipse

I am trying to convert a KeyStroke in SWT to a nice user presentation:
KeyStroke ks = org.eclipse.jface.bindings.keysKeyStroke.getInstance(SWT.CONTROL + SWT.SHIFT, SWT.F5);
which results in
CTRL+SHIFT+F5
Basically this works, however I have two concerns:
When I look at the Eclipse IDE, it shows keyStrokes like this: Ctrl+Shift+F5
I am wondering why the locale is not considered. I would expect the keyStroke to be Strg+Shift+F5 on a German locale
Any hints?

Eclipse calls
KeyFormatterFactory.setDefault(SWTKeySupport.getKeyFormatterForPlatform());
to set the key formatting to match the normal display for the platform. This may use 'Ctrl+Shift', on my Mac it uses '^⇧'.
This formatter is used by the KeyStroke.format() method. If you use the KeyStroke.toString() method you always get the upper case version.
Update:
The 'Ctrl'... names are looked up in resource bundle properties files so it should be possible to localize these but the default Eclipse download does not include any localization.

Related

Converting from lower to upper case in Sql Editor in Data Studio

What keyboard shortcut can I use to switch from lower to upper case and upper to lower case in Sql Editor in Data Studio LUW ?
You can discover all the keybaord-shortcuts in Data Studio by using menu Help > Active Key Bindings. This is valid for Data Studio version 4.1.3 and maybe some older versions. You can also use CTRL+SHIFT+L to open the same list of active key bindings. The active key bindings is a long list, and can depend on which tool you are using in Data Studio.
The shortcut keys depend on your operating-system (e.g. Mac Os, Linux, Windows).
For Linux X64, in the SQL-editor, to convert selected text to uppercase is Shift+Ctrl+X - works for me.
Maybe, you wanted it.
If you apply the format to your code, all keywords will be in lowercase.
enter image description here

Unicode support in Eclipse GGTS IDE editor (how to input unicode math symbols)

I would like to deal with floral formulae by my DSL coded in groovy, so I need some special symbols such as female sign and Superscripts and Subscripts.
Thanks to the great answers that I found on stackoverflow questions like this now I'm able to
insert special unicode symbols in source code in VIM (MacVim) this way:
CTRL+V. U 2 6 4 0.
However, I would like to be able to do the same in Eclipse IDE (I'm trying to use Groovy/Grails Tool Suite Version: 3.1.0.RELEASE to develop a grails project)
Question: How can I insert in the Eclipse editor a 4 digit unicode symbol by knowing the encoding ( without cut & paste from another source) ?
There appear to be a few ways to get the unicode characters on a Mac. The first few don't appear to be what you want exactly, but included for completeness.
1) Make sure System Preferences->Keyboard "show keyboard & character viewers in menu bar" is selected. Then you can click on that (normally accessible via option+cmd+T, but not in eclipse) to get the Character Viewer. You can then double-click a special character you want and it should insert at cursor.
2) Under the default setup, you should be able to click Option + key to get an alternate character. Use the keyboard viewer from #1 to see what maps to what. Note you can switch to some more mappings using Shift at the same time. This will only get you a subset of unicode characters.
3) From here: Under System Preferences->Languages & Text, go to Input Sources tab. Select the Unicode Hex Input source. You may need to assign switching input sources (under System Prefs->Keyboard->Keyboard Shortcuts->Keyboard) to a hotkey combo (default probably conflicts with spotlight, so change to something else). After that, you should be able to use said hotkey combo to switch to the Unicode Input Source - in that mode, you can hold Option down and enter a hex 4-digit key code, which will result in the character being placed at cursor.

Why does scintilla auto-complete leave start of word

I am coding a Notepad++ plug-in to create an IDE for a scripting language that I and some others use.
My problem is that I can't figure out why Scintilla's AutoComplete functionality leaves the start of the string after an AutoComplete selection has been made.
I've tried deleting the start of the string, but this doesn't seem to work either. I suppose I could manually replace the target with the AutoCompletion selection when I get the AutoComplete selection notification, but shouldn't Scintilla do this automagically?
If you set Scintilla.AutoComplete.AutomaticLengthEntered = true, Scintilla will attempt to guess the length of the word and replace it when the AutoComplete entry has been accepted.
If you're showing a custom AutoComplete list using Scintilla.AutoComplete.ShowUserList, the first parameter (listType) is the number of characters that will be replaced when a match is accepted. Similarly, the lengthEntered in Scintilla.AutoComplete.Show is the number of characters to be replaced.

Custom key actions in Eclipse

Today I have question about Eclipse. I use this IDE very long and I think it is good, but last time I miss for some functionalities...
Is it possible to set some shortcut which will do something like:
Mark some text ('Hello world'), trigger shortcut (Ctrl+T) and it will do something with that text - in example adds text before and after selected text ($this->_('Hello world'))
?
Thanks for any sugestion !
From this, it appears you have to implement your own command in a plugin. The process looks more involved than simply setting a menu choice.
Equivalent functionality can be defined without commands, if you're willing to give up the keyboard shortcut and use content assist instead.
I'm not sure if it will work with the language you're using (PHP?), but with Java in Eclipse it is possible to use Code Templates.
You would define your own template, when it was applicable and what it would do. This could then be accessed with Ctrl+Space through the possible content assist methods. So in the context of Java statements, I can define:
this.call(${word_selection});
So when I highlight a word, such as "Hello, world", I can use the template to change it to:
this.call("Hello, world");
(There are ways to limit it to only String types instead of word selections, but that will most likely not apply to your language, so I didn't pursue exactly how to do it.)
The Code Templates menu is available through Window->Preferences.

Double click text selection in CFEclipse

In CFEclipse, I do a lot of double-clicking to select text. The standard behavior is to select all text within the nearest word boundaries. This is problematic when editing code where the original editor didn't use camel-case; for example, they wrote "myObject" as "my_object".
Is there a way to change the double-click selection behavior to include '_' as a valid word character?
In the latest version of CFEclipse, there is now the option to define what characters are considered word boundaries when double-clicking, and also the option to use different characters when using alt or shift keys.
In Preferences, goto CFEclipse > Editor > Text Selection to update this:
(source: bpsite.net)
CFEclipse does not recognize either the underscore or a period as a character for selecting text with a double-click. There is no way that I know of other than rolling your sleeves up and hacking the editor code to change it. I doubt that this will be changed any time soon with the impending release of Bolt from Adobe.
On eclipse 3.4.1 Ganymede, it seems to select the nearest boundaries including the '_' (at least in the java file I am using)
What eclipse version are you using ?
This blog even reports that eclipse3.3 does select word as you are expecting it...
vs.