Release Notes for V2.31.0
In this release, we wanted to address some quality of life items as well as lay the ground work for future updates. Here is what we changed:
Remote Control Emulation
Our first try at emulating the Roku Remote was lacking and inconsistent. This experience was unreliable and could override functionality in these areas. Resulting in...frustration...
We are happy to announce a complete overhaul of this feature. Remote Control Mode is now something you can toggle on and off from almost anywhere in VSCode. This implementation is similar in concept to togging in and out of insert mode in VIM.
How to use Remote Control Mode
There are tree main ways you can enter and exit this mode:
The command pallet:
Status bar:
Keybinding:
cmd+k(mac)
orctrl+k(win)
When this mode is enabled, most keyboard strokes will be sent to the Roku device as input rather then to your editor. Some notable exceptions include when: the command pallet is open, an input box is open, or you are in other input areas like a search box.
When this mode is enabled there is also a status bar item that will flash to let you know that Remote Control Mode is active. This can be disabled by setting the brightscript.remoteControlMode.enableActiveAnimation
user setting to false
.
Text Input
One of the biggest changes is support for full text input from the keyboard when in this mode. For example, if you pressed shift+b
while Remote Control Mode is active we will send B
to the device. We support all the single press and shift press ascii characters on the keyboard (excluding the num pad). For example: a-z
, A-Z
, 0-9
, and all the primary characters such as !
, @
, #
, '
, "
, etc...
For more information on this feature and the updated list of keybindings please see our Remote Control Mode documentation.
Note: We do not support sending alt charters directly from the keyboard. This can be done via the send sendRemoteText
command. See below!
Send Text to Device History
With this update, we now remember the past 30 unique strings previously sent to the device using the extension.brightscript.sendRemoteText
command.
New user settings:
brightscript.sendRemoteTextHistory.limit
- Sets the maximum number of
extension.brightscript.sendRemoteText
commands to remember for future use - This is only available in the user settings. Not available in workspace settings
- Sets the maximum number of
brightscript.sendRemoteTextHistory.enabled
- If
false
, the extension will not save the history forextension.brightscript.sendRemoteText
commands - This is available in the user and workspace settings
- If
You will now be presented a history of commands in addition to the input box. (see below)
Custom View in the Activity Bar
We have finally added our own Activity Bar item in VSCode! At this time we display the devices found on the local network (see below). We will expand upon this area in the future. We have ideas for adding a Roku Remote Control UI, adding new device commands, setting your default device for side loading.
What does this do for you?
- Shows you all the devices found on the local network
- Devices can be expanded to see more details about the device
- Clicking on a detail item will copy the value to your clipboard
- There is also an item that lets you easily open the web portal for that device
- Shows item for TV devices that lets you change the TV Input. When clicked you will be asked what input you would like to change to.
Missing ECP commands!
They were missing before...now they are not! Enjoy!
extension.brightscript.pressInstantReplayButton
extension.brightscript.pressEnterButton
extension.brightscript.pressFindRemote
extension.brightscript.pressVolumeDown
extension.brightscript.pressVolumeMute
extension.brightscript.pressVolumeUp
extension.brightscript.pressPowerOff
extension.brightscript.pressChannelUp
extension.brightscript.pressChannelDown
extension.brightscript.changeTvInput
BrightScript CreateObject validation
This release includes new validations for the CreateObject
function call. The language is now aware of all components provided by the Roku platform, as well as all custom components defined in your code. Here are some examples:
BrightScript Optional Chaining Support
This release includes syntax validation for the new optional chaining operator that was added to the BrightScript runtime in Roku OS 11.
The optional chaining operator also introduced a slight limitation to BrighterScript ternary expressions. As such, all BrighterScript ternary expressions must now have a space to the right of the question mark when followed by [ or (. See the optional chaning section in the BrighterScript docs for more information.