Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 81e2e99

Browse files
committedSep 12, 2024
Add First-Run rename disclaimer
1 parent df907ec commit 81e2e99

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed
 

‎media/RenameDisclaimer.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
### PowerShell Extension Rename Disclaimer ###
2+
3+
PowerShell is not a statically typed language. As such, the renaming of functions, parameters, and other symbols can only be done on a best effort basis. While this is sufficient for the majority of use cases, it cannot be relied upon to find all instances of a symbol and rename them across an entire code base such as in C# or TypeScript.
4+
5+
There are several edge case scenarios which may exist where rename is difficult or impossible, or unable to be determined due to the dynamic scoping nature of PowerShell.
6+
7+
# Known Rename Limitations
8+
9+
- Renaming can only be done within a single file. Renaming symbols across multiple files is not supported.

‎src/features/RenameSymbol.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,19 +165,22 @@ export class RenameSymbolFeature extends LanguageClientConsumer implements Renam
165165
const acceptRenameDisclaimer = config.get<boolean>("powershell.renameSymbol.acceptRenameDisclaimer", false);
166166

167167
if (!acceptRenameDisclaimer) {
168+
const extensionPath = vscode.extensions.getExtension("ms-vscode.PowerShell")?.extensionPath;
169+
const disclaimerPath = vscode.Uri.file(`${extensionPath}/media/RenameDisclaimer.txt`);
170+
168171
const result = await vscode.window.showWarningMessage(
169172
//TODO: Provide a link to a markdown document that appears in the editor window, preferably one hosted with the extension itself.
170-
"The PowerShell Rename functionality has limitations. Do you accept the limitations and risks?",
171-
"Yes",
172-
"Workspace Only",
173+
`The PowerShell Rename functionality has limitations and risks, please [review the disclaimer](${disclaimerPath}).`,
174+
"I Accept",
175+
"I Accept [Workspace]",
173176
"No"
174177
);
175178

176179
switch (result) {
177-
case "Yes":
180+
case "I Accept":
178181
await config.update("powershell.renameSymbol.acceptRenameDisclaimer", true, vscode.ConfigurationTarget.Global);
179182
break;
180-
case "Workspace Only":
183+
case "I Accept [Workspace]":
181184
await config.update("powershell.renameSymbol.acceptRenameDisclaimer", true, vscode.ConfigurationTarget.Workspace);
182185
break;
183186
default:

0 commit comments

Comments
 (0)
Please sign in to comment.