microsoft / vscode-copilot-release

Feedback on GitHub Copilot Chat UX in Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat
Creative Commons Attribution 4.0 International
309 stars 28 forks source link

Inconsistent feedback language from Copilot #651

Open dbsxdbsx opened 9 months ago

dbsxdbsx commented 9 months ago

I have noticed that the language Copilot feedback is sometimes inconsistent with the setting github.copilot.chat.localeOverride. When I set the language to language A(except English), sometimes it provides feedback within langugage A if asked within exactly English, while other times it does so within the default language English. I would appreciate it if this behavior(I don't treat it as a bug) could be addressed.

Steps to Reproduce:

  1. Set the language to a langugage other than English.
  2. select a whole file content which is activate in vscode and open the chat view with a question in exact English: "Explain what the page is doing"
  3. Repeat the process multiple times and notice the inconsistenct languge in the feedback.

Some thoughts: I do notice that this may be more complex than I said. For example, should Copilot answer in language English(the default) if I asked in language A while the github.copilot.chat.localeOverride in set in language C. Meanwile, what the comment/document language in the code Copilot proposed should be---Should it following the context of the project or some other settings? An anti-question could be a solution when Copilot is at loss--- Let Copilot ask "what language you want I to feedback" or "Please choose the document language you prefer"...(Also, this issue is somehow related to the language for the auto-generated git commit message produced Copilot)

Anyway, I think there needs more discussion on the language issue.

joyceerhl commented 9 months ago

What is your motivation for setting the language to one other than English in settings?

dbsxdbsx commented 9 months ago

What is your motivation for setting the language to one other than English in settings?

Thanks your reply. I think the core motivation is to let Copilot answer in the set language, whatever the language user takes to ask.

Besides, I just came up with another corner case: For example, I work with a team member speaking language B while I speak language A, and none of us speak the default language E. It is natural for me to set github.copilot.chat.localeOverride be A. Then I asked Copilot "@workspace, What the project is for, could you sum up in language B?"----Here I asked in E with setting in A, while I hope Copilot could answer in B.

Maybe the above case is just out of range, I just want to mention it in case it is needed.

MetaMmodern commented 9 months ago

What is your motivation for setting the language to one other than English in settings?

I found this issue while trying to find the language setting for copilot chat, but I have answer to your question. Here's an example for you.

I know en and ua(and many other, but let's focus on these for now). My OS language is ua, because when I started using this system I was not very familiar with it so kept my native language instead of English to easier navigate in my OS. My Vscode inherits OS language. So, my VSCode is in UA locale. And copilot chat by default inherits vscode language, which is UA. But since I know english quite well to speak to someone and I know that English sometimes can give better results with AI tools I wanted to set copilot language to English without changing my OS or VSCode locale.

But it can be the opposite as well. Imagine someone from India or Mexico who visited US, got job, got equipment on the job and his company has a policy that all laptops have to be in English locale. In that case a user might need to keep OS(and VSCode) locale as english, while needing to setup copilot in his native language to ask high quality question and get better responses for himself.

Although I don't see any way your question is related to OPs question. His point is legit: if I ask in English, copilot should respond in English, if I ask in japanese copilot should respond in Japanese. In this context the locale settings might become obsolete. ChatGPT doesn't have such setting for example, it responds in whatever language you ask. And it also can respond in other language if you specify it in your message. (like "please write your answer in Mexican").

Wladastic commented 2 months ago

I am also having an issue with this. My OS is in German but I do not want it to add German comments to each code I want to generate. This defeats the purpose of using it in the first place as now I have to rewrite all method names and comments every time and would have been easier to just use chatgpt instead.