forcedotcom / salesforcedx-vscode

Salesforce Extensions for VS Code
https://developer.salesforce.com/tools/vscode
BSD 3-Clause "New" or "Revised" License
940 stars 397 forks source link

Retrieve source results are two times bigger because of "xml" shifted to next line (see picture inside) #5580

Closed PawelWozniak closed 1 month ago

PawelWozniak commented 2 months ago

Summary

When I retrieve the source based on package.xml using SFDX: Retrieve Source in Manifest from Org

2024-05-07_13h14_07

then despite of window being wide enough (as I am using 4k display with 150% scaling factor) "xml" file extension is moved to next line which results in additional lines added which is not needed.

2024-05-07_13h08_36

Steps To Reproduce:

  1. Retrive source from Package.xml using the context menu SFDX: Retrieve Source in Manifest from Org
  2. Check results window

Expected result

"xml" is at the end of the line as there is enough space: CustomLabels CustomLabels force-app\main\default\labels\CustomLabels.labels-meta.xml

Actual result

Text is wrapped at last dot (.) and "xml" is in new line: CustomLabels CustomLabels force-app\main\default\labels\CustomLabels.labels-meta. xml

Additional information

Salesforce Extension Version in VS Code:v60.11.0

Salesforce CLI Version:@salesforce/cli/2.39.6 win32-x64 node-v20.12.2

OS and version:Widnows 11

VS Code version:1.89.0

peternhale commented 2 months ago

@PawelWozniak Would you mind sending the full text of the results instead of a screenshot?

PawelWozniak commented 1 month ago

@peternhale Here is a short example as full log contains too much confident names that describes system configuration. `11:20:48.278 Starting SFDX: Retrieve Source from Org

=== Retrieved Source FULL NAME TYPE PROJECT PATH
─────────────────────────────────────────────────────────────────────────────────────── ──────────────────────── ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
NewContractButtonOverride ApexPage force-OppsAndContracts\main\default\pages\NewContractButtonOverride.page
NewContractButtonOverride ApexPage force-OppsAndContracts\main\default\pages\NewContractButtonOverride.page-meta.xml
Account_Status_Path PathAssistant force-app\main\default\pathAssistants\Account_Status_Path.pathAssistant-meta.xml
Lead_Path PathAssistant force-Leads\main\default\pathAssistants\Lead_Path.pathAssistant-meta.xml
Opportunity_Path PathAssistant force-OppsAndContracts\main\default\pathAssistants\Opportunity_Path.pathAssistant-meta.xml
LeadConvertSettings LeadConvertSettings force-app\main\default\LeadConvertSettings\LeadConvertSettings.LeadConvertSetting-meta.xml
CustomLabels CustomLabels force-app\main\default\labels\CustomLabels.labels-meta.xml

11:22:53.982 ended SFDX: Retrieve Source from Org `

I spotted something that can help. When the terminal window is too small then the last bar ( ___ ) for PROJECT PATH is moved to a new line and XML extensions too. Also, PROJECT PATH is splitter to PROJECT PATH

2024-05-08_11h37_56

When I make it very wide then all is fine

2024-05-08_11h40_16
peternhale commented 1 month ago

@PawelWozniak as you discovered, the table output will wrap when the maximum row length exceeds the terminal's width and when the terminal's width is wide enough the lines are not wrapped.

There are only a few choices here to "fit" a row into and given width; truncation (not desirable) or some sort of column reduction that attempts to retain enough information to properly communicate the data w/o loss of understanding. A typical version of this would be to retain the beginning and ending text and replace the center with "...".

I would like to close this issue given your discovery. If you would like us to entertain a feature request or create a PR to provide a "fitting" solution, we always welcome contributions.

PawelWozniak commented 1 month ago

@peternhale I think that making this bar shorter would help. If you don't want to spend time on this issue I will experiment with that at some time later. Could you please just give me a hint in which file I should look for related code?

peternhale commented 1 month ago

I believe the bar length for each column is the same length as the max length of the column data, so not sure that changing the bar length itself will solve the wrapping issue. If you would like to submit a PR we would be happy to accept the contribution.

Here is the code that formats table output for our extensions.