Feature requests and bug reports are very welcome: https://github.com/ryu1kn/vscode-partial-diff/issues
A couple of requests from me when you raise an github issue.
Select Text for Compare
(Command ID: extension.partialDiff.markSection1
)
Marks the selected text as the text to compare the next selection with.
Compare Text with Previous Selection
(Command ID: extension.partialDiff.markSection2AndTakeDiff
)
Compares the selected text to the first selection.
Compare Text with Clipboard
(Command ID: extension.partialDiff.diffSelectionWithClipboard
)
Compares the current clipboard to the selected text.
Compare Text in Visible Editors
(Command ID: extension.partialDiff.diffVisibleEditors
)
Compares text in 2 visible editors.
Toggle Pre-Comparison Text Normalization Rules
(Command ID: extension.partialDiff.togglePreComparisonTextNormalizationRules
)
Toggle pre-comparison text normalization rules.
NOTE:
Select Text for Compare
) except Compare Text in Visible Editors
.Select Text for Compare
, Compare Text with Previous Selection
or Compare Text in Visible Editors
command without selecting any text will use the entire text of the current file.partialDiff.commandsOnContextMenu
(default: {"markSection1": true, ...}
, all commands visible)
Commands appear on the context menu. Unlisted commands will still appear.
For example, if you don't want to see Compare Text in Visible Editors command (Command ID: extension.partialDiff.diffVisibleEditors
)
on the context menu, you can set this setting as follows:
"partialDiff.commandsOnContextMenu": {
"diffVisibleEditors": false
}
partialDiff.preComparisonTextNormalizationRules
(default: []
)
Rules to normalize texts for diff view.
It doesn't mutate texts in the editors. Only texts in diff views get normalised.
If a diff is presented with text normalised (or possibly normalised), ~
is used in the diff title instead of ↔
)
Each rule has match
, replaceWith
. name
or enableOnStart
are optional.
name
: Optional. Name of the rule to describe what the rule is for. You see this name on normalisation rule toggle menu.match
: Regular expression to find text you want to normalise. Global search flag is automatically applied.replaceWith
: One of the following
$N
, where N
is the index of substring (starting from 1) you captured in match
with ()
.upper
and lower
.enableOnStart
: Optional. Set it false
if you don't want to use the rule when the extension starts up.Sample preComparisonTextNormalizationRules
:
"partialDiff.preComparisonTextNormalizationRules": [
{
"name": "Replace tabs with whitespaces",
"match": "\t",
"replaceWith": " "
},
{
"name": "One space after comma",
"match": ", *([^,\n]+)",
"replaceWith": ", $1"
},
{
"name": "Capitalise",
"match": ".*",
"replaceWith": {"letterCase": "upper"},
"enableOnStart": false
}
...
]
partialDiff.enableTelemetry
(default: true
)
Allow the extension usage data to be sent to the extension author.
Partial Diff sends usage data only when both partialDiff.enableTelemetry
and
telemetry.enableTelemetry
are set to true
.
partialDiff.hideCommandsOnContextMenu
(default: false
)
(DEPRECATED) Hide Partial Diff commands on the context menu.
Please use partialDiff.commandsOnContextMenu
instead.
You can quickly mark the selected text by adding the partial-diff
commands to your keyboard shortcut settings. For example:
{ "key": "ctrl+1", "command": "extension.partialDiff.markSection1",
"when": "editorTextFocus" },
{ "key": "ctrl+2", "command": "extension.partialDiff.markSection2AndTakeDiff",
"when": "editorTextFocus" },
{ "key": "ctrl+3", "command": "extension.partialDiff.diffSelectionWithClipboard",
"when": "editorTextFocus" },
Before you make a pull request, you can run linter and tests to avoid build failure
$ yarn run prep