PowerShell / PowerShell/PowerShellEditorServices
Feature Request: Add ability to change the language through $psEditor
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 767
- Forks
- 266
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 1
Description
After some contemplation, I've realized there's no need to make a request to change/add to the PSES module, as I can just do it in my profile. However, what I would like to see is the ability to change the language (likely with a SetLanguage() method on one of the objects somewhere).
Would there be appetite for adding this in at some point? I understand the PowerShell team is busy on other areas of the codebase and I don't want to put forward a suggestion of anything that might set back that work or unnecessarily distract from it.
What I would like to see is the ability to run something like: $psEditor.GetEditorContext().CurrentFile.SetLanguage('markdown') and have the current file's language mode set to markdown.
Original request here for posterity:
I'm not entirely sure the best place for this, I found this when working on some things in vscode, but the underlying behaviour is in the PSES module, but also some of it depends on vscode... So I'll start it over here and it can be moved if needed.
I was doing some stuff in vscode, and I found myself with the need to take the output of my function
Get-IntuneDetectionScriptand output it into a new editor window. I found that I could do this withOut-CurrentFile -AsNewFile, however this output as a herestring. Thinking about this, I believe the reason is that typically when outputting to the current file this behaviour makes sense. However, in my opinion when outputting to a new file this doesn't make sense.Based on my use case, I'd like to make two feature requests:
- Add a
Out-NewFilefunction that does whatOut-CurrentFile -AsNewFilecurrently does, only it doesn't do the herestring.- Assuming it's not too much work: add a
-Languageparameter toOut-NewFilethat takes in the language for the new file and sets it.
- This is the part I'm not sure on complexity-wise. Setting the language in typescript is a minor adjustment
With these suggestions you could do things like:
Get-IntuneDetectionScript "Whatever App" | Out-NewFile -Language powershell Get-IntuneAppDescription "Whatever App" | Out-NewFile -Language markdownI've got a branch that includes the first feature request over here: https://github.com/corbob/PowerShellEditorServices/tree/out-newfile (To see the changes, they're all (currently) encapsulated in a single commit: https://github.com/corbob/PowerShellEditorServices/commit/3c33c968a03348f8678a3d45b1841250710ea055)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the $psEditor.GetEditorContext().CurrentFile entry point and the existing Out-CurrentFile -AsNewFile behavior. No implementation files or tests are named; done would require agreeing on the API, implementing language changes for the current file, and validating the requested PowerShell and Markdown examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100