Skip to content

PowerShell extension uses PSScriptAnalyzer settings file - Cannot update rules #899

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
PowerDBAKlaas opened this issue Jun 20, 2017 · 9 comments
Labels

Comments

@PowerDBAKlaas
Copy link

PowerDBAKlaas commented Jun 20, 2017

I had this error when doing: <ctrl>+<shift>+P, PSScript...
image
After Uninstall and reinstall the Powershell extension ( version 1.3.2, the same as it was before), there's another issue:
image

System Details

  • Operating system name and version: Windows 10.0.14393
  • VS Code version: 1.13.1
  • PowerShell extension version: 1.3.2
  • Output from $PSVersionTable:
    Name Value

PSVersion 5.1.14393.0
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.0
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1


PS C:\scripts> code -v
1.13.1
379d2efb5539b09112c793d3d9a413017d736f89
PS C:\scripts> $pseditor.EditorServicesVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
1      3      2      0


PS C:\scripts> code --list-extensions --show-versions
[email protected]
[email protected]

Issue Description

I am experiencing a problem with PSScriptAnalyzer: cannot update the rules

Attached Logs

1497967294-c7966750-26b9-4c1a-88bf-382515625aa61497967292400.zip

@PowerDBAKlaas
Copy link
Author

Actually, the thought that something is wrong, started with noticing that the warning and error count ( in the left lower corner) were and are always 0.

@PowerDBAKlaas
Copy link
Author

OK
"powershell.scriptAnalysis.settingsPath": "bin//PSScriptAnalyzerRules.psd1",
was set to a non-existing file, so this was my own fault.
Maybe if the error message could say "file not found" I would realize that sooner than with "cannot update the rules"

@daviwil
Copy link
Contributor

daviwil commented Jun 21, 2017

Hey Klass, sorry for the delay in response. I'm glad you figured out the issue! You're right, we should indicate that the settings file is missing, I'll reopen this issue so we can track a fix for that.

@daviwil daviwil reopened this Jun 21, 2017
@daviwil daviwil added this to the 1.4.1 milestone Jun 21, 2017
@daviwil daviwil modified the milestones: 1.4.2, 1.5.1 Aug 24, 2017
@daviwil daviwil modified the milestones: 1.5.1, Future Oct 26, 2017
@PorkyProgs
Copy link

Thanks for identifying the bug, as I am not so familiar with the Setup and untill the fix is included, could perhaps be clarified
i) which file name should be entered into this Setting and
ii) If the full path or a relative path should be included (and if relative, relative from where)
That would be a great help to start using this part of teh extension

@rjmholt
Copy link
Contributor

rjmholt commented Apr 24, 2018

@tylerl0706, it looks like there's a bug in the extension where we're not persisting PSSA rule file settings, as above.

@rkeithhill
Copy link
Contributor

@PorkyProgs

i) which file name should be entered into this Setting and

You can use any filename you want but the tyipcal filename is PSScriptAnalyzerSettings.psd1.

ii) If the full path or a relative path should be included (and if relative, relative from where)

When using a relative path in a workspace settings file, the path is relative to the workspace root. If you put the setting in your user profile, it should be an absolute path.

@rkeithhill
Copy link
Contributor

@rjmholt I don't think this feature was designed to persist the set of selected rules between sessions. Another reason I prefer to use a PSSA settings file for the workspace.

@bergmeister
Copy link
Contributor

bergmeister commented May 13, 2018

I think it is a minimum viable feature (for the moment) to tell people having to just edit the PSSA setting file themselves but of course, it could be improved. But what is a no go and problem is the fact that when no PSSA settings path is specified, the rules selected via Ctrl+Shift+P are not persisted!
I suggest that when selecting a rule AND the PSScriptAnalyzerSettingPath setting of VSCode is not set, then the extension should create such a file in the .vscode folder and make the Vscode setting point to it. Without this capability, the Vscode feature of selecting rules via Ctrl+Shift+P is useless and misleading. I myself saw this feature once and thought it would be nice to people who like to use GUIs, so I showed it at psconf.eu but not knowing that it does not persist because I personally use settings files...

I would also like to complain about the fact that not all rules are turned on by default, especially AvoidPossibleIncorrectComparisonWithNull.

@mklement0
Copy link
Contributor

Good points, @bergmeister.

There are both older and newer issues that are closely related:

#823 (@daviwil) suggests adding support for persisting the existing GUI-based rules selection (>PowerShell: Select PSScriptAnalyzer Rules)

#1443 (@rjmholt) doesn't reference the GUI method, but proposes supporting persistent rule selection via settings.json specifically

Also, there is another closely related issue that I decided to break out into a separate one:
If you use a relative path in setting powershell.scriptAnalysis.settingsPath, for per-workspace settings, opening a workspace that doesn't have such a file quietly deactivates all rules - see #2287

Also related: #2190, where @TylerLeonhardt suggests automatically picking up a PSScriptAnalyzerSettings.psd1 file in the workspace root.

@ghost ghost added the Needs: Maintainer Attention Maintainer attention needed! label Nov 5, 2019
@rjmholt rjmholt removed the Needs: Maintainer Attention Maintainer attention needed! label Nov 12, 2019
@SydneyhSmith SydneyhSmith removed this from the Future milestone Jan 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants