All notable changes to the "vscode-TextToolbox" extension will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
See the list of open enhancements on GitHub
Insert UUID
- Updated Node modules
- Fix padding commands
- Fix
Sort by length
commands
Insert line separator...
Prefix with...
: prefix all selections with text entered by the userSuffix with...
: suffix all selections with text entered by the userSurround with...
: surround all selections with text entered by the user
- Updated unicode chracters replacement map:
U+200b
gets replaced with an empty stringU+2014
gets replaced with a regular dash (-
)
- Renamed
Remove control characters
toReplace control characters
- Rather than just removing control and Unicode characters (e.g. Left Double Quotation Marks,
U+201C
), the command now replaces known characters with their ASCII equivalent
- Rather than just removing control and Unicode characters (e.g. Left Double Quotation Marks,
Transform to Ordered List
now supports Roman numeralsi.
=> Roman lowercase.i)
=> Roman lowercase)I.
=> Roman UPPERCASE.I)
=> Roman UPPERCASE)
- #17 Insert/transform lines in numbered list
- New command
Transform to Ordered List
- Currently supports the following ordered list types:
1.
=> number.1)
=> number)a.
=> lowercase.a)
=> lowercase)A.
=> UPPERCASE.A)
=> UPPPERCASE)
- Supports single and multiple selections
- Supports multicursor
- Supports infinite number of lines: ordered lists based on letters work similar to an Excel spreadsheet
- New command
- Updated
Insert GUID
,Insert GUID all zeros
,Insert currency...
commands to match the behavior ofInsert Random...
:- If multiple cursors are active, ask the user if to insert the same random value or unique random values at each cursor's position
Cycle quotes
- If the cursor is positioned between quotes, replace those quotes cycling through other quote types:
- Double quotes:
" "
- Single quotes:
' '
- Backtick:
` `
- Double quotes:
- Default keybinding:
ctrl+shift+alt+,
- If the cursor is positioned between quotes, replace those quotes cycling through other quote types:
Cycle brackets
- If the cursor is positioned between brackets, replaces those brackets cycling through other bracket types:
- Round brackets:
( )
- Square brackets:
[ ]
- Curly brackets:
{ }
- Angle brackets:
< >
- Round brackets:
- Default keybinding:
ctrl+shift+alt+/
- If the cursor is positioned between brackets, replaces those brackets cycling through other bracket types:
Indent using 2 spaces
: change document indentation from 4 spaces or tabs to 2 spacesIndent using 4 spaces
: change document intentation from 2 spaces or tabs to 4 spaces
- Update the status bar behavior,
Lns: <number>
appears only when test has been selected in the editor
- Updated all transformation commands to handle mode case combinations
- Move to a stable release the previous pre-release fixes:
This is a pre-release version
- Fix another scenario that falls under #26 Line ending handling with sort functions
This is a pre-release version
- Removed redundant
Invert lines
command, useSort lines
=>reverse
instead
This is a pre-release version
This is a pre-release version
- Fix another scenario that falls under #26 Line ending handling with sort functions
This is a pre-release version
- Removed redundant
Invert lines
command, useSort lines
=>reverse
instead
This is a pre-release version
- Removed edit commands from the context menu for readonly editors
Open under cursor
- Position the cursor on a file path and open it in a new editor
- Open URLs in your default browser
- Open a new email in your default email client
- Default keybinding:
alt+o
on Windowscmd+o
on Mac
- New icon! 😄
- Added
Toggle Tab Out
command to easily enable/disable TabOut for all language types - Added double quotes (
"
) as character to tab out from
- The "TabOut" label on the Status Bar is updated right after
TextToolbox.tabOut.enabled
is updated, or after runningToggle Tab Out
- Added the ability to tab out of brackets, quotes and other some punctuation, inspired by TabOut
- You can choose to enable or disable the feature entires, or to enable it for selected language types only
- Re-publish preview package
- Ensure the Status Bar item is shown even if the active editor has no selection
- Updated the StatusBar item, if the active editor has a selection, show its word count rather than the count for tho whole document
- Selection align commands (
Align as table
andAlign to separator
) can use RegExp for space (\s
) and tab (\t
) as separator
This is a pre-release version
Select text between brackets
- Default keybinding:
ctrl+shift+alt+b
- Default keybinding:
Select text between quotes
- Default keybinding:
ctrl+shift+alt+f
- Default keybinding:
Remove brackets
- Removes the brackets around the current selection or cursor position
- Default keybinding:
ctrl+shift+alt+;
Remove quotes
- Removes the quotes around the current selection or cursor position
- Default keybinding:
ctrl+shift+alt+'
Quotes include single ('
), double ("
) and backtick (`
)
Brackets include round (()
), square ([]
), curly ({}
) and angle (<>
)
Note: These commands are in preview, they may still be a bit rough around the edges (there may be bugs in certain edge cases), please double-check the selected text before taking any destructive actions.
- Increased VSCode minimum version to
1.63
, needed to support pre-release extension versions.
Decode JWT token
Convert to and from Base64
HTML encode/decode
Uri encode/decode
Sort lines by length
Convert integer to hexadecimal
Convert hexadecimal to integer
- Text-Toolbox now works in Visual Studio Code for Web (https://github.dev and https://vscode.dev)
- Show the cursor position (offset) on the Status Bar
- Added
Invert lines
command: inverts lines in the active selection or the entire document, if there is no selection- Does not support multiple selections
Align as table
andAlign as table with headers
now properly handle the selection and does not erroneously delete it
Duplicate tab
: open the curren document's text in a new, unsaved document (tab)- The extension is now available for VS Codium from Open VSX Registry
- Update node modules
Align a CSV file or selection as a markdown table, no matter the actual file language
Align as table
| asdfasdfasd | fadfasdfasdfasdf | adsfadf | asdf | asdfa | df | | | | |
| asdasdfa | sdfasdfa | sdf | adsf | asd | fasdfasdfadsf | | | | |
| asd | sdfasdfa | dsf | asdfa | sdf | as | df | a | df | adfadfa |
Align as table with headers
| asdfasdfasd | fadfasdfasdfasdf | adsfadf | asdf | asdfa | df | | | | |
|-------------|------------------|---------|-------|-------|---------------|----|---|----|---------|
| asdasdfa | sdfasdfa | sdf | adsf | asd | fasdfasdfadsf | | | | |
| asd | sdfasdfa | dsf | asdfa | sdf | as | df | a | df | adfadfa |
- If a CSV selection has records with different length, the command
Align to separator
now fills the missing records (columns) as empty separators
old behavior
asdfasdfasd, fadfasdfasdfasdf, adsfadf, asdf, asdfa, df,
asdasdfa, sdfasdfa, sdf, adsf, asd, fasdfasdfadsf,
asd, sdfasdfa, dsf, asdfa, sdf, as, df, a, df, adfadfa
new behavior
asdfasdfasd, fadfasdfasdfasdf, adsfadf, asdf, asdfa, df, ,,,,
asdasdfa, sdfasdfa, sdf, adsf, asd, fasdfasdfadsf, ,,,,
asd, sdfasdfa, dsf, asdfa, sdf, as, df, a, df, adfadfa
Fix Win32 path in Json
: transforms:
{
"path": "\Temp\Myfolder\myFile.txt"
}
to:
{
"path": "\\Temp\\Myfolder\\myFile.txt"
}
- Highlight word or selection:
Highlight
Highlight with color...
Highlight all matches, case sensitive
Highlight all matches, case insensitive
Highlight all matches, case sensitive, with color...
Highlight all matches, case insensitive, with color...
Highlight with RegExp
Highlight with RegExp with color...
Remove all highlights
Remove highlight
- Fixed a case where "Remove control characters" was inserting "undefined" when replacing control characters with empty strings
- Update commands and context menu labels:
TT:
replaced byText Toolbox:
- Align to cursor does not change the text near the cursor if there is no selection
Align to separator
: align a selection in a CSV type, choose the type of separator to use- The default separator can be controlled by the setting
TextToolbox.alignTextDefaultSeparator
- The default separator can be controlled by the setting
- Consolidated some context menu commands
- Fixed editor context submenu items
- Added
TT: HEADER-CASE
text conversion - Enabled editor context menu commands
- Removed
No Case
conversion - Removed dependency from
change-case
NPM package, using a slim custom class instead
- Renamed
TT: param-case
toTT: kebab-case
- Conversions to Pascal Case and Camel Case properly convert the first word in a multiline selection
- Case conversions work with multiple selections
Insert
commands new replace the existing selection (if any), otherwise insert new text starting at the cursor's location (supports multi-election and multi-cursor)
- Added
Invert case
command
Insert
commands overrite the existing selection (if there is one) instead of appending to it
- Updated
Transform path to Win32
: in a json document use double backslashes
- Removed
Convert to Uppercase
in favor of the built-in VSCode command - Removed
Convert to Lowercase
in favor of the built-in VSCode command - Removed
Convert to CapitalCase
in favor of the built-in VSCode commandTransform to Title Case
- Convert path string to posix format
- Convert path string to win32 format
- Added
Roundtrip
date format:2021-05-31T16:53:38.954Z
: Roudtrip DateTime Format - Added
DATETIME_HUGE
date format:Monday, May 31, 2021, 9:55 AM PDT
- Sorted DateTime formats, grouped similar formats closer together
- Added support to run in an Untrusted Workspace in extension manifest
- Stringify JSON
- Fix JSON
- Minify JSON
- Split selection and open the resulting text in a new editor
- Split selection based on delimiter
- Improved the
Sort
commands, remove empty lines from the sorted output
- Updated the
Insert Date
picker, show a sample date formatted according to the selection - Updated the
Insert Random
picker, show a sample string based on the selection - Update the
Insert Currency
picker, show a sample string based on the selection
Insert Currency
- Added
Israeli New Shequel
- Added
Bitcoin
- Added
South Korean Won
- Added
South African Rand
- Added
Swiss Franc
- Added
- The extension is no longer loaded at startup
- Insert
Lorem Ipsum
Paragraphs, Sentences or Words - Insert random Number
- Insert random Currency amount
- Fixed sort selection on Mac and Linux
- Temporarily removed the
Align
command, it was not behaving as intended and I am working on a new implementation. I will addAlign
back when ready.
- Insert GUID all zeros
- Supports multicursor
- Trim lines or selections
Open Selection in New Editor
: no longer opens an empty editor if there is no selection- Fixed sort commands
- Align text to separator (can be used to align CSV elements):
-
Align left (default): inserts padding spaces after the separator
London, Paris, Rome Tokyo, Singapore, Sydney
-
Align right: inserts padding spaces between text and separator
London ,Paris ,Rome Tokyo ,Singapore ,Sydney
-
- Update readme and changelog
- Highlight control characters
- By default control characters are highlighted with a red box but color and border shape can be customized through
TextToolbox.decorateControlCharacters
- By default control characters are highlighted with a red box but color and border shape can be customized through
- Remove control characters
- By default control characters are replaced with an empty string but this can be changed through
TextToolbox.replaceControlCharactersWith
. - Removes control characters from the current selection(s) or from the entire document if no text is selected
- By default control characters are replaced with an empty string but this can be changed through
- The StatusBar item with lines and words count is readonly, disabled the click event
- Insert numbers sequence: the user can choose the starting index and length, this inserts the needed amount of lines
- Insert line numbers
- Open selection(s) in new editor
- Fixed a bug where multiline random inserts were failing if the command needed to prompt the user for a choise. The affected commands were PERSON_NAME, COLOR, PARAGRAPH and HASH
- Case conversion and Insert commands now work on multiple selections
- Renamed "Pad Right" and "Pad Left" to "Pad Selection Right" and "Pad Selection Left" respectively
- Sort lines, ascending, descending or reverse the lines order
- Update the current selection or entire document, or open the sorted lines in a new editor
- Better handle configuration changes, react to the event only if
Text Toolbox
configuration is undated, ignore all other changes
- Find text using RegEx or simple text match and open the result in a new Editor
- By default the search uses RegEx: can be changed using
TextToolbox.filtersUseRegularExpressions
- By default the search uses RegEx: can be changed using
- Remove duplicate lines
- Remove duplicate lines, open result in new editor
- Fixed a bug with padding where the padded string length was incorrect
- Updated tests, close the editors after every
Describe
rather than after every test
-
Updated padding, split the previous command in
PadRight
andPadLeft
.- If there is a selection, the string is padded up to the length specified
- If there is no selection, the command inserts a string comprised of the selected character(s) and of the specified length
-
Updated CHANGELOG and README
ISO8601_DATE
ISO8601_TIME
STATE_FULL_NAME
COUNTRY_FULL_NAME
- Updated README, CHANGELOG
- Package with Webpack
- First preview release published