microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.45k stars 28.63k forks source link

Cannot open the file-save window #178978

Closed Melebius closed 1 year ago

Melebius commented 1 year ago

Does this issue occur when all extensions are disabled?: Yes

Steps to Reproduce:

  1. Install VS Code 1.77 or later and launch it.
  2. Write some text to a file.
  3. Try opening the file-save dialog window by any of the following options:
    • Ctrl+S or File > Save in a new file
    • Ctrl+Shift+S or File > Save as... in an existing file
    • try to close the editor, then choose Save in the window Do you want to save the changes...

Expected behavior:

The file-save dialog window should open.

Actual behavior:

Nothing happens.

Workaround:

Downgrading to 1.76.2 helps.

Technical info (from an affected version):

Version: 1.78.0-insider Commit: 2da5a0024fe2ca407f741f19340f1a10f4d692af Date: 2023-04-03T05:26:01.718Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: 10.2.154.26-electron.0 OS: Linux x64 5.19.0-38-generic snap Sandboxed: Yes

bpasero commented 1 year ago

/gifPlease

VSCodeTriageBot commented 1 year ago

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.

If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.

Happy coding!

Melebius commented 1 year ago

Here is my GIF. cannot-save-1

marcel-dancak commented 1 year ago

I have the problem on Ubuntu 20.04.5 LTS, dialog window for saving a new file or opening file is not showing.

bpasero commented 1 year ago

/duplicate https://github.com/microsoft/vscode/issues/146422

VSCodeTriageBot commented 1 year ago

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.

Happy Coding!

Melebius commented 1 year ago

This might be related: https://github.com/microsoft/vscode/issues/178979

@bpasero This is NOT a duplicate of #146422. Look at my GIF: I have included the part of screen where a notification would show but none is there.

bpasero commented 1 year ago

Yeah could be https://github.com/microsoft/vscode/issues/178979 then, lets track there.

deepak1556 commented 1 year ago

Reopening based on https://github.com/microsoft/vscode/issues/178979#issuecomment-1497330051

deepak1556 commented 1 year ago

@Melebius can you start the application like code-insiders --verbose and follow the steps to open the save dialog. Attach the generated output in this issue thread.

Melebius commented 1 year ago

Output when trying to open Save dialog using Ctrl+S in code-insiders --verbose:

[main 2023-04-05T12:27:59.259Z] [DialogMainService]: request to acquire file dialog lock {
  defaultPath: '/home/mmateju/asd',
  filters: [
    { name: 'All Files', extensions: [Array] },
    { name: 'Plain Text', extensions: [Array] },
    { name: 'Batch', extensions: [Array] },
    { name: 'BibTeX', extensions: [Array] },
    { name: 'C', extensions: [Array] },
    { name: 'C#', extensions: [Array] },
    { name: 'C++', extensions: [Array] },
    { name: 'Clojure', extensions: [Array] },
    { name: 'CoffeeScript', extensions: [Array] },
    { name: 'CSS', extensions: [Array] },
    { name: 'CUDA C++', extensions: [Array] },
    { name: 'Dart', extensions: [Array] },
    { name: 'Diff', extensions: [Array] },
    { name: 'Docker', extensions: [Array] },
    { name: 'F#', extensions: [Array] },
    { name: 'Go', extensions: [Array] },
    { name: 'Groovy', extensions: [Array] },
    { name: 'Handlebars', extensions: [Array] },
    { name: 'HLSL', extensions: [Array] },
    { name: 'HTML', extensions: [Array] },
    { name: 'Ignore', extensions: [Array] },
    { name: 'Ini', extensions: [Array] },
    { name: 'Java', extensions: [Array] },
    { name: 'JavaScript', extensions: [Array] },
    { name: 'JavaScript JSX', extensions: [Array] },
    { name: 'Jinja', extensions: [Array] },
    { name: 'JSON', extensions: [Array] },
    { name: 'JSON with Comments', extensions: [Array] },
    { name: 'Julia', extensions: [Array] },
    { name: 'Julia Markdown', extensions: [Array] },
    { name: 'LaTeX', extensions: [Array] },
    { name: 'Less', extensions: [Array] },
    { name: 'Log', extensions: [Array] },
    { name: 'Lua', extensions: [Array] },
    { name: 'Makefile', extensions: [Array] },
    { name: 'Markdown', extensions: [Array] },
    { name: 'Objective-C', extensions: [Array] },
    { name: 'Objective-C++', extensions: [Array] },
    { name: 'Perl', extensions: [Array] },
    { name: 'Perl 6', extensions: [Array] },
    { name: 'PHP', extensions: [Array] },
    { name: 'PowerShell', extensions: [Array] },
    { name: 'Properties', extensions: [Array] },
    { name: 'Pug', extensions: [Array] },
    { name: 'Python', extensions: [Array] },
    { name: 'R', extensions: [Array] },
    { name: 'Razor', extensions: [Array] },
    { name: 'reStructuredText', extensions: [Array] },
    { name: 'Ruby', extensions: [Array] },
    { name: 'Rust', extensions: [Array] },
    { name: 'SCSS', extensions: [Array] },
    { name: 'Search Result', extensions: [Array] },
    { name: 'ShaderLab', extensions: [Array] },
    { name: 'Shell Script', extensions: [Array] },
    { name: 'SQL', extensions: [Array] },
    { name: 'Swift', extensions: [Array] },
    { name: 'TeX', extensions: [Array] },
    { name: 'TypeScript', extensions: [Array] },
    { name: 'TypeScript JSX', extensions: [Array] },
    { name: 'Visual Basic', extensions: [Array] },
    { name: 'XML', extensions: [Array] },
    { name: 'XSL', extensions: [Array] },
    { name: 'YAML', extensions: [Array] },
    { name: 'No Extension', extensions: [Array] }
  ],
  title: 'Save As'
}
[main 2023-04-05T12:27:59.264Z] [DialogMainService]: new file dialog lock created {
  defaultPath: '/home/mmateju/asd',
  filters: [
    { name: 'All Files', extensions: [Array] },
    { name: 'Plain Text', extensions: [Array] },
    { name: 'Batch', extensions: [Array] },
    { name: 'BibTeX', extensions: [Array] },
    { name: 'C', extensions: [Array] },
    { name: 'C#', extensions: [Array] },
    { name: 'C++', extensions: [Array] },
    { name: 'Clojure', extensions: [Array] },
    { name: 'CoffeeScript', extensions: [Array] },
    { name: 'CSS', extensions: [Array] },
    { name: 'CUDA C++', extensions: [Array] },
    { name: 'Dart', extensions: [Array] },
    { name: 'Diff', extensions: [Array] },
    { name: 'Docker', extensions: [Array] },
    { name: 'F#', extensions: [Array] },
    { name: 'Go', extensions: [Array] },
    { name: 'Groovy', extensions: [Array] },
    { name: 'Handlebars', extensions: [Array] },
    { name: 'HLSL', extensions: [Array] },
    { name: 'HTML', extensions: [Array] },
    { name: 'Ignore', extensions: [Array] },
    { name: 'Ini', extensions: [Array] },
    { name: 'Java', extensions: [Array] },
    { name: 'JavaScript', extensions: [Array] },
    { name: 'JavaScript JSX', extensions: [Array] },
    { name: 'Jinja', extensions: [Array] },
    { name: 'JSON', extensions: [Array] },
    { name: 'JSON with Comments', extensions: [Array] },
    { name: 'Julia', extensions: [Array] },
    { name: 'Julia Markdown', extensions: [Array] },
    { name: 'LaTeX', extensions: [Array] },
    { name: 'Less', extensions: [Array] },
    { name: 'Log', extensions: [Array] },
    { name: 'Lua', extensions: [Array] },
    { name: 'Makefile', extensions: [Array] },
    { name: 'Markdown', extensions: [Array] },
    { name: 'Objective-C', extensions: [Array] },
    { name: 'Objective-C++', extensions: [Array] },
    { name: 'Perl', extensions: [Array] },
    { name: 'Perl 6', extensions: [Array] },
    { name: 'PHP', extensions: [Array] },
    { name: 'PowerShell', extensions: [Array] },
    { name: 'Properties', extensions: [Array] },
    { name: 'Pug', extensions: [Array] },
    { name: 'Python', extensions: [Array] },
    { name: 'R', extensions: [Array] },
    { name: 'Razor', extensions: [Array] },
    { name: 'reStructuredText', extensions: [Array] },
    { name: 'Ruby', extensions: [Array] },
    { name: 'Rust', extensions: [Array] },
    { name: 'SCSS', extensions: [Array] },
    { name: 'Search Result', extensions: [Array] },
    { name: 'ShaderLab', extensions: [Array] },
    { name: 'Shell Script', extensions: [Array] },
    { name: 'SQL', extensions: [Array] },
    { name: 'Swift', extensions: [Array] },
    { name: 'TeX', extensions: [Array] },
    { name: 'TypeScript', extensions: [Array] },
    { name: 'TypeScript JSX', extensions: [Array] },
    { name: 'Visual Basic', extensions: [Array] },
    { name: 'XML', extensions: [Array] },
    { name: 'XSL', extensions: [Array] },
    { name: 'YAML', extensions: [Array] },
    { name: 'No Extension', extensions: [Array] }
  ],
  title: 'Save As'
}
(code-insiders:43801): Gtk-WARNING **: 14:27:59.345: Can't open portal file chooser: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Rozhraní „org.freedesktop.portal.FileChooser“na objektu na cestě /org/freedesktop/portal/desktop neexistuje
[main 2023-04-05T12:27:59.646Z] [DialogMainService]: file dialog lock disposed {
  defaultPath: '/home/mmateju/asd',
  filters: [
    { name: 'All Files', extensions: [Array] },
    { name: 'Plain Text', extensions: [Array] },
    { name: 'Batch', extensions: [Array] },
    { name: 'BibTeX', extensions: [Array] },
    { name: 'C', extensions: [Array] },
    { name: 'C#', extensions: [Array] },
    { name: 'C++', extensions: [Array] },
    { name: 'Clojure', extensions: [Array] },
    { name: 'CoffeeScript', extensions: [Array] },
    { name: 'CSS', extensions: [Array] },
    { name: 'CUDA C++', extensions: [Array] },
    { name: 'Dart', extensions: [Array] },
    { name: 'Diff', extensions: [Array] },
    { name: 'Docker', extensions: [Array] },
    { name: 'F#', extensions: [Array] },
    { name: 'Go', extensions: [Array] },
    { name: 'Groovy', extensions: [Array] },
    { name: 'Handlebars', extensions: [Array] },
    { name: 'HLSL', extensions: [Array] },
    { name: 'HTML', extensions: [Array] },
    { name: 'Ignore', extensions: [Array] },
    { name: 'Ini', extensions: [Array] },
    { name: 'Java', extensions: [Array] },
    { name: 'JavaScript', extensions: [Array] },
    { name: 'JavaScript JSX', extensions: [Array] },
    { name: 'Jinja', extensions: [Array] },
    { name: 'JSON', extensions: [Array] },
    { name: 'JSON with Comments', extensions: [Array] },
    { name: 'Julia', extensions: [Array] },
    { name: 'Julia Markdown', extensions: [Array] },
    { name: 'LaTeX', extensions: [Array] },
    { name: 'Less', extensions: [Array] },
    { name: 'Log', extensions: [Array] },
    { name: 'Lua', extensions: [Array] },
    { name: 'Makefile', extensions: [Array] },
    { name: 'Markdown', extensions: [Array] },
    { name: 'Objective-C', extensions: [Array] },
    { name: 'Objective-C++', extensions: [Array] },
    { name: 'Perl', extensions: [Array] },
    { name: 'Perl 6', extensions: [Array] },
    { name: 'PHP', extensions: [Array] },
    { name: 'PowerShell', extensions: [Array] },
    { name: 'Properties', extensions: [Array] },
    { name: 'Pug', extensions: [Array] },
    { name: 'Python', extensions: [Array] },
    { name: 'R', extensions: [Array] },
    { name: 'Razor', extensions: [Array] },
    { name: 'reStructuredText', extensions: [Array] },
    { name: 'Ruby', extensions: [Array] },
    { name: 'Rust', extensions: [Array] },
    { name: 'SCSS', extensions: [Array] },
    { name: 'Search Result', extensions: [Array] },
    { name: 'ShaderLab', extensions: [Array] },
    { name: 'Shell Script', extensions: [Array] },
    { name: 'SQL', extensions: [Array] },
    { name: 'Swift', extensions: [Array] },
    { name: 'TeX', extensions: [Array] },
    { name: 'TypeScript', extensions: [Array] },
    { name: 'TypeScript JSX', extensions: [Array] },
    { name: 'Visual Basic', extensions: [Array] },
    { name: 'XML', extensions: [Array] },
    { name: 'XSL', extensions: [Array] },
    { name: 'YAML', extensions: [Array] },
    { name: 'No Extension', extensions: [Array] }
  ],
  title: 'Save As'
}
[43801:0405/142801.562907:INFO:CONSOLE(621)] "%cTRACE color: #888 InteractiveSessionService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/snap/code-insiders/1265/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (621)
[main 2023-04-05T12:28:09.084Z] update#checkForUpdates, state =  idle
[main 2023-04-05T12:28:09.084Z] update#setState checking for updates
[main 2023-04-05T12:28:09.087Z] update#setState idle
[43801:0405/142839.493735:INFO:CONSOLE(621)] "%cTRACE color: #888 InteractiveSessionService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/snap/code-insiders/1265/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (621)
[main 2023-04-05T12:29:06.877Z] menubarService#updateMenubar 1
[43801:0405/142906.918574:INFO:CONSOLE(621)] "%cTRACE color: #888 CommandService#executeCommand _setContext", source: vscode-file://vscode-app/snap/code-insiders/1265/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (621)
[43801:0405/142906.918936:INFO:CONSOLE(621)] "%cTRACE color: #888 [DEBOUNCE: CodeLensProvide] for untitled:Untitled-1 is 250ms", source: vscode-file://vscode-app/snap/code-insiders/1265/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (621)
[43801:0405/142915.318389:INFO:CONSOLE(621)] "%cTRACE color: #888 InteractiveSessionService#onWillSaveState: Persisting 0 sessions", source: vscode-file://vscode-app/snap/code-insiders/1265/usr/share/code-insiders/resources/app/out/vs/workbench/workbench.desktop.main.js (621)

Version info:

Version: 1.78.0-insider Commit: 8f74fbfd1f2d8f6268a42df131726b218aafe511 Date: 2023-04-05T05:27:51.301Z Electron: 22.4.3 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: 10.8.168.25-electron.0 OS: Linux x64 5.19.0-38-generic snap Sandboxed: Yes

deepak1556 commented 1 year ago

Can you install xdg-desktop-portal-gtk and see if the file dialog works.

Melebius commented 1 year ago

After I ran sudo apt install xdg-desktop-portal-gtk and rebooted my machine, the open and save dialogs do open. (They did not work before reboot.)

deepak1556 commented 1 year ago

Thanks for confirming!

deepak1556 commented 1 year ago

Closing as we removed portal support with https://github.com/microsoft/vscode/pull/180238

alexr00 commented 1 year ago

What is the best way to verify this issue?

deepak1556 commented 1 year ago

@alexr00 the verification requires specific OS setup that does not have portal support, I will ask the OP to verify this instead.

VSCodeTriageBot commented 1 year ago

This bug has been fixed in the latest release of VS Code Insiders!

@Melebius, you can help us out by commenting /verified if things are now working as expected.

If things still don't seem right, please ensure you're on version 5b6af0748264d83dc7a95f5f4b1c39196eaae8d9 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.

Happy Coding!

Melebius commented 1 year ago

/verified I’ve just checked the problem is resolved in VS Code Insiders https://github.com/microsoft/vscode/commit/5b6af0748264d83dc7a95f5f4b1c39196eaae8d9. Thank you!

After running sudo apt remove xdg-desktop-portal-gtk and rebooting my machine, I am able to enter an open or save dialog in VS Code Insiders https://github.com/microsoft/vscode/commit/5b6af0748264d83dc7a95f5f4b1c39196eaae8d9 (unlike VS Code 1.77).