Is your feature request related to a problem? Please describe.
Not related to an extension problem. But an UX/UI problem, maybe.
One thing I noticed since I started using the preview mode to develop with Sandboxes and Developer Edition orgs is that when you right-click on a file or a folder inside your project, you get the options to either Deploy or Retrieve the metadata. I think the "Retrieve" option should be renamed to "Refresh" for two reasons:
Describe the solution you'd like
Change the label to "Refresh Metadata" when right-clicking the folder or an existing file. Either this, or actually list and retrieve all the metadata when clicking on a folder. For example: if I right-click the "classes" folder, I don't want to just refresh the existing metadata. I want the extension to also retrieve the metadata which is not currently on my workspace.
The label change still applies to when right-clicking a metadata file (like a class). I won't be retrieving it, but refreshing it.
Additional context
You get two people working on a Sandbox, John and Annie. Annie is using the VSCode extension, but John isn't. If Annie retrieves the metadata, and then after that John creates a new Lightning Component, then Annie won't be able to retrieve the newly created component when right-clicking and choosing "Retrieve Metadata" on the "aura" folder. Annie needs to click on the package.xml file and select "Retrieve" to actually list and retrieve all the metadata.
@amphro, @dcarroll, @ntotten - I think these behaviors within our considerations when we designed the force:source:retrieve commands. However, this seems like good feedback that we can think over.
Are there any action items here for Winter '19?
Yeah, good feedback. I don't think we need to rename the CLI commands as they serve multiple purposes (both the retrieve and "refresh" scenarios), but it mike make sense to change the command in VS Code.
"Update" might also be appropriate.
What do others think?
CC: @ruthemmanuelle (when you get the chance) ^
From the CLI, a user is passing in a path, type, or manifest. It doesn't actually know if the thing passed in is "retrieving" or "refreshing" and it wouldn't know until the command is executed if at all. Because of that reason alone, the CLI command should not be renamed.
I think "Refresh" makes sense on files. On folders, I'm less inclined. I would rather see When clicking on this option in a folder (for example "aura") you don't retrieve new components created outside the editor or by another people (see the context below). fixed than renaming to "Refresh" for folders. Because that would also make it consistent for folders that actually do work, like classes.
My preference would be to have the command names in VS Code match the command names in Salesforce CLI, so that people need to learn the intricacies of the commands' behavior only once.
@ruthemmanuelle has spoken. 馃槃 I'm going to close this for now, but if people feel strongly please reopen. It is valid feedback, but I think the desire for consistency is preferred. It is also possible the functionality evolves over time to make this less of an issue.
Most helpful comment
My preference would be to have the command names in VS Code match the command names in Salesforce CLI, so that people need to learn the intricacies of the commands' behavior only once.