Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a File menu entry to upload files #4088

Closed
jankeromnes opened this issue Jan 16, 2019 · 22 comments · Fixed by #4717
Closed

Add a File menu entry to upload files #4088

jankeromnes opened this issue Jan 16, 2019 · 22 comments · Fixed by #4717
Assignees
Labels
enhancement issues that are enhancements to current functionality - nice to haves filesystem issues related to the filesystem

Comments

@jankeromnes
Copy link
Member

When you want to upload a file into your Theia IDE, there is no visible option to do that.

Most people will first upload files to somewhere, and then wget or curl or git pull (!) desired files from the Terminal. This is terrible.

Adding a File menu entry that says Upload file... and opens a file picker would be awesome for UX.

@akosyakov akosyakov added enhancement issues that are enhancements to current functionality - nice to haves help wanted issues meant to be picked up, require help filesystem issues related to the filesystem labels Jan 17, 2019
@idoprz
Copy link

idoprz commented Jan 17, 2019

you can drag and drop as a work around.

@jankeromnes
Copy link
Member Author

you can drag and drop as a work around.

Thanks, that's true (dropping into the file tree, not the editor) but this feature is almost impossible to discover without someone telling you about it first.

A menu option would make that feature more discoverable.

@jankeromnes
Copy link
Member Author

I see two potential places where this Upload Files... feature could be exposed:

  1. In the File top-menu (right under New File and New Folder, maybe with an extra separator)
  2. In the file tree context menu (right under New File, New Folder and Open in Terminal)

Notes:

  • For 1. MenuPath === CommonMenus.FILE_NEW === ['menubar', '1_file', '1_new']
  • For 2. MenuPath === NavigatorContextMenu.NEW === ['navigator-context-menu', '4_new']

@jankeromnes
Copy link
Member Author

I'll go ahead and implement both (we can always change our minds during code review).

@jankeromnes
Copy link
Member Author

Interesting find: The current file upload implementation uses DataTransferItem.webkitGetAsEntry(), which only works in Firefox, Chrome and Edge. So you can't upload files in IE, Opera or Safari.

https://github.com/theia-ide/theia/blob/5156023a4b0c590b40485f82d5c798c6ef6f8dec/packages/filesystem/src/browser/file-tree/file-tree-model.ts#L191-L196

jankeromnes added a commit to jankeromnes/theia that referenced this issue Jan 25, 2019
@akosyakov
Copy link
Member

@jankeromnes If you know official stable API which cover all browsers, it would be good to rewrite it. I could not such find or figure out how to upload directories with that.

jankeromnes added a commit to jankeromnes/theia that referenced this issue Jan 25, 2019
@jankeromnes
Copy link
Member Author

@akosyakov I usually use https://github.com/felixge/node-formidable for robust cross-browser file upload support. Would that work?

@akosyakov
Copy link
Member

@jankeromnes yes, why not, so we won't use our filesystem anymore, but need an http endpoint?

@akosyakov
Copy link
Member

You should be aware that adding new dependencies is troublesome right now 😢 We need get CQs for them: https://github.com/theia-ide/theia/wiki/Registering-CQs I hope it would be resolved soon that we can develop fast again. //cc @marcdumais-work

@akosyakov akosyakov removed the help wanted issues meant to be picked up, require help label Jan 25, 2019
jankeromnes added a commit to jankeromnes/theia that referenced this issue Jan 25, 2019
@jgbradley1
Copy link
Contributor

Was a decision ever made on what module should be used for this functionality? The PR seems almost complete if the licensing issue can be resolved.

@jankeromnes
Copy link
Member Author

jankeromnes commented Mar 22, 2019

If there exists a way to transform a input.files (a FileList from a <input type="file" multiple>), into a DataTransferItemList to pass to FileTreeModel.upload(), then yes the pull request is almost finished in adding the menu entries.

However, just like the current drag-an-drop upload, it would still only work in Firefox, Chrome and Edge, see #4088 (comment).

The better solution would be to replace the existing FileTreeModel.upload() code with a library like https://github.com/felixge/node-formidable, because it would make file uploads work across all browsers, but this means significantly more work, and importing a new library into Theia requires extra process.

@akosyakov
Copy link
Member

akosyakov commented Mar 22, 2019

FileTreeModel.upload() cannot handle big files: #969 It's a limitation of how we using web sockets. Need to fix it as well, but we can use node-formidable instead if it is better.

@jgbradley1
Copy link
Contributor

jgbradley1 commented Mar 22, 2019

Since this issue has been open for two months, using FileTreeModel.upload() seems like the path of least resistance in order for this feature to move forward. As long as the upload() function isn't modified, changing the underlying code to use node-formidable at a later time would not be a breaking change would it?

For browser compatibility, a browser check could be performed in the code with a warning dialog box notifying the user if they're using an incompatible browser.

I also think mentioning the 60 MB cap should be placed somewhere so users are aware. They can deal with splitting files up outside of Theia as a workaround for now.

@jgbradley1
Copy link
Contributor

jgbradley1 commented Mar 25, 2019

If I understand the codebase correctly, it looks like the backend server is an express server. If so, express-formidable might be a better option to use.

akosyakov pushed a commit to jankeromnes/theia that referenced this issue Mar 25, 2019
@akosyakov akosyakov self-assigned this Mar 25, 2019
@akosyakov
Copy link
Member

akosyakov commented Mar 25, 2019

They are limitations to implementation.

With stable browser APIs:

  • only files can be uploaded
  • only with simple name (not a relative path)

With webkit: one can also uploads directories, but exclusively, i.e one cannot select files then.

Would it be alright to have two commands Upload Files... (based on stable) and Upload Folders... (available only for webkit)?

cc @jankeromnes @jgbradley1

@jankeromnes
Copy link
Member Author

jankeromnes commented Mar 25, 2019

Would it be alright to have two commands Upload Files... (based on stable) and Upload Folders... (available only for webkit)?

That would work for me, thanks!

Or what about just implementing the Upload Files... menu entry, and skipping Upload Folders... altogether? The underlying browser feature is non-standard, I don't think I've ever needed it such a thing, and all the use cases I can think of can be worked around easily (e.g. by selecting all files in a directory, or by uploading an archive).

@jgbradley1
Copy link
Contributor

In VS Code, there is a single Open... command that allows the user to select either a file or folder. Maybe that behavior should be imitated with the Upload Files... command. Allow a user to select files or folders, perform a check to determine what was chosen, which would determine which upload method is used (stable browser API vs webkit).

@jgbradley1
Copy link
Contributor

jgbradley1 commented Mar 26, 2019

Extending the contributions of @jankeromnes, I came up with a very crude implementation here using formidable. You can test it it out with gitpod. It doesn't parse out the uploaded file correctly just yet.

I think the file upload option should use the native file picker dialog box. It feels more intuitive than trying to create and maintain a custom dialog box.

@akosyakov
Copy link
Member

Or what about just implementing the Upload Files... menu entry, and skipping Upload Folders... altogether? The underlying browser feature is non-standard, I don't think I've ever needed it such a thing, and all the use cases I can think of can be worked around easily (e.g. by selecting all files in a directory, or by uploading an archive).

I will start with that, but folder hierarchy won't be preserved, i.e. all files will be uploaded with simple names, if there are duplicates the last one wins. One can workaround it by drag & drop in the navigator.

In VS Code, there is a single Open... command that allows the user to select either a file or folder. Maybe that behavior should be imitated with the Upload Files... command. Allow a user to select files or folders, perform a check to determine what was chosen, which would determine which upload method is used (stable browser API vs webkit).

As I explained, It is not feasible in browser context because standard limitations: there is not allow to select files OR folders. VS Code uses native Electron APIs for it.

akosyakov added a commit that referenced this issue Mar 26, 2019
Signed-off-by: Jan Keromnes <[email protected]>
Signed-off-by: Anton Kosyakov <[email protected]>
@jgbradley1
Copy link
Contributor

Okay @akosyakov I understand what you are saying now.

Or what about just implementing the Upload Files... menu entry, and skipping Upload Folders... altogether? The underlying browser feature is non-standard, I don't think I've ever needed it such a thing, and all the use cases I can think of can be worked around easily (e.g. by selecting all files in a directory, or by uploading an archive).

I agree.

akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 27, 2019
akosyakov added a commit that referenced this issue Mar 28, 2019
akosyakov added a commit that referenced this issue Mar 28, 2019
akosyakov added a commit that referenced this issue Mar 28, 2019
akosyakov added a commit that referenced this issue Mar 28, 2019
akosyakov added a commit that referenced this issue Mar 29, 2019
akosyakov added a commit that referenced this issue Mar 29, 2019
akosyakov added a commit that referenced this issue Mar 29, 2019
akosyakov added a commit that referenced this issue Mar 29, 2019
uniibu pushed a commit to uniibu/theia that referenced this issue Mar 29, 2019
@jankeromnes
Copy link
Member Author

🎉 🎉 🎉 Many thanks @akosyakov!

yaweiw added a commit to yaweiw/theia that referenced this issue Apr 8, 2019
* fix eclipse-theia#4088: Add 'Upload Files...' menu entries

Signed-off-by: Anton Kosyakov <[email protected]>

* [tree] fix handling global selection

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#2566: report fs events for real paths

Signed-off-by: Anton Kosyakov <[email protected]>

* eclipse-che/che-theia#103 fix 'getTask' method

Signed-off-by: Yevhen Vydolob <[email protected]>

* Publish typedoc to github pages on deploy

Change-Id: I3cef27ba76804cd3194ed81c2d343be9ad9e0282
Signed-off-by: Florent Benoit <[email protected]>

* fix eclipse-theia#4524 add files.enableTrash preference

Signed-off-by: Anton Kosyakov <[email protected]>

* fix 4334: allow to override default preference values for application

Signed-off-by: Anton Kosyakov <[email protected]>

* allow promises on validate.  fix inconsistent selection, add CHANGELOG

This allow creation of files and folders recursive path.
improve validation check, add cancellationtoken

separate validation for absolutpath and leading/trailing spaces

Signed-off-by: Uni Sayo <[email protected]>

* fix eclipse-theia#4776: turn off autoSave by deafult

Signed-off-by: Anton Kosyakov <[email protected]>

* Set a minWidth and minHeight in frontend-generator for electron app.

Signed-off-by: jbicker <[email protected]>

* Allow to choose through CLI the VS Code API version that is provided by vscode.version call in a VS Code extension

$ yarn run start --vscode-api-version=1.40

(and you'll get 1.40 as API version)

note: default value is displayed in help as well

Change-Id: I371e3b008f8d9a8bbd9e047dada4f75e1137e17a
Signed-off-by: Florent Benoit <[email protected]>

* Use external absolute link for logo

It's useful when embedding README in other pages (usecase = the typedoc)
So the logo is displayed nicely.

Change-Id: Ic1063d972d13eb52bef1248ccf869e3ec0e01f23
Signed-off-by: Florent Benoit <[email protected]>

* Add ability to configure task

Signed-off-by: Roman Nikitenko <[email protected]>

* remove docs script in each package as we now have the root documentation that is generating the typedoc for the whole modules

Change-Id: I0c47554e1a99e22c7b519c94afa7cfd9be1622a4
Signed-off-by: Florent Benoit <[email protected]>

* [file-search] fix eclipse-theia#4599: don't mess around with given include patterns

Signed-off-by: Anton Kosyakov <[email protected]>

* [file-search] excludePatterns without magic

Signed-off-by: Anton Kosyakov <[email protected]>

* [filesystem] Fixes eclipse-theia#4792 XSS vulnerability.

Mitigates the issue by removing all unsanitized information from the
response.

Signed-off-by: Casey Flynn <[email protected]>

* Don't rewrite debug capabilities

Signed-off-by: Valeriy Svydenko <[email protected]>

* Check whether selected item in dialog is non-leaf node

Signed-off-by: Vladyslav Zhukovskyi <[email protected]>

* set minimum value for lineHeight and fontSize and align it with VS Code

Signed-off-by: Uni Sayo <[email protected]>

* Fix incorrect method name for registerReferenceProvider

Fix typo in `registerReferenceProvider` Plug-in API.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Add CodeActionKind intersects() Plugin API

Added the Plugin API for `CodeActionKind` `intersects(other: CodeActionKind)` method.

Signed-off-by: Vincent Fugnitto <[email protected]>
yaweiw added a commit to yaweiw/theia that referenced this issue Apr 9, 2019
* eclipse-theiaGH-4585: Fixed the selection state issue.

From now on, the nodes are remapped from the `tree`,
to ensure the `selection` and `focus` represents the most recent state.
This fix ensures that the selection state does not get out of sync.

Closes eclipse-theia#4585.

Signed-off-by: Akos Kitta <[email protected]>

* Proceed runInTermianl request in a sidecar container

Signed-off-by: Anatoliy Bazko <[email protected]>

* Initial commit to add 'Run Selected Text' functionality. Signed-off-by: Joshua Bradley <[email protected]>

Signed-off-by: Josh Bradley <[email protected]>

* Open new terminal if none exist

Signed-off-by: Joshua Bradley <[email protected]>

* Simplified getText() with cleaner code

Signed-off-by: Joshua Bradley <[email protected]>

* Improved text selection behavior

Signed-off-by: Joshua Bradley <[email protected]>

* Use all the type hierarchy levels the server sends (fixes eclipse-theia#4540)

Signed-off-by: Nathan Ridge <[email protected]>

* Implemented Toolbar support for sidepanels and changed sidepanel tabs.

Every sidepanel has an header now where the title and a toolbar
is shown (if tools are registered for that widget).
As an example the control buttons of search in workspace extension are
moved to the toolbar.

Additionally the tabs of sidebars  don't show labels anymore but icons.

Fixes eclipse-theia#3864

Signed-off-by: Jan Bicker <[email protected]>

* [plugin] use the native toolbar for view container

Signed-off-by: Anton Kosyakov <[email protected]>

* [plugin] render view container icon

Signed-off-by: Anton Kosyakov <[email protected]>

* [workspace] add spliceRoots

Signed-off-by: Anton Kosyakov <[email protected]>

* [plugin] fix eclipse-theia#4240: implement workspace.updateWorkspaceFolders

Signed-off-by: Anton Kosyakov <[email protected]>

* [preference] fix parsing of settings from workspace files

Signed-off-by: Anton Kosyakov <[email protected]>

* Make the diff navigation header static

Fixes eclipse-theia#3456

Updated the `git diff` navigation header to be static (fixed).
Currently when there are a lot of changes present in the files changed
list, we lose the header when scrolling. This means that the navigation and
information present in the header is lost so users must always scroll
to the top to access them. This change addresses that issue by providing a
new css class and overflowing only the files changed list to be scrollable.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Fix eclipse-theia#4595: 'Reveal in Files' error

Signed-off-by: Feng Qingxue <[email protected]>

* Set the minimum perfect scrollbar length

Fixes eclipse-theia#2788

Set the minimum perfect scrollbar length with the `minScrollbarLength`
scrollbar option. Currently in Theia, when there is a lot of vertical
height the scrollbar becomes quite small and hard to use. With this
change we define a minimum length for the scrollbar so it always
remains easily visible for users.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Make keybinding widget search static

Fixes eclipse-theia#3037

Updated the keybindings widget search bar to be static (fixed in place)
This makes it a lot easier for users to search the table, without the
need to constantly scroll up to re-search.

- Fixed minor typos found in variable names.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Adjust open workspace explorer button alignment

Adjust the `Open Workspace` button present in the explorer
when no workspace is currently opened. Previously, the alignment
of the button was off (not centered) and after the change
the button was updated to be centered in the widget.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Fix spelling mistake in block comment

Signed-off-by: Feng Qingxue <[email protected]>

* use VS Code icons in a tabbar toolbar

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#4633: set git diff title icon

Signed-off-by: Anton Kosyakov <[email protected]>

* Update scrollbar width to a larger value

Minor change to the perfect scrollbar width to
update to a larger value. The change means that
the scrollbar is more accessible, visible and aligns
more with the styling present in VSCode.

Signed-off-by: Vincent Fugnitto <[email protected]>

* [plugin] fix eclipse-theia#4621: apply only valid configurations as schemas

Signed-off-by: Anton Kosyakov <[email protected]>

* Add missing git diff caption

Fixes eclipse-theia#4639

Currently, the `git-diff-widget` does not have a caption (tooltip).
This means that when the widget is docked, and it's icon is displayed,
no tooltip is shown when hovering while others widget do include it.
For the sake of completeness and consistency, the `git-diff-widget`
should include a caption.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Involve selection service in tree view on plugin side

Signed-off-by: Vladyslav Zhukovskyi <[email protected]>

* Don't let sidepanel titles wrap.

Fixes eclipse-theia#4644

Signed-off-by: Jan Bicker <[email protected]>

* Added debug console icon

Fixes eclipse-theia#4638

Added debug console icon. The icon selected is the same
as found from the debug widget to open the debug console.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Aligned widget content in sidepanels to header title.

Fixes eclipse-theia#4622

Signed-off-by: Jan Bicker <[email protected]>

* [shell] center side bar icons

Signed-off-by: Anton Kosyakov <[email protected]>

* reorder views in side bars to mimic VS Code order

Signed-off-by: Anton Kosyakov <[email protected]>

* Add missing search-in-workspace icon tooltips

Added missing `search-in-workspace` icon tooltips to align with vscode.

Signed-off-by: Vincent Fugnitto <[email protected]>

* [debug] fix eclipse-theia#4648: preferences to control view, console and location appearance

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#4658: improve rendering of fa icons in sidebars

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#4657: use browser preview icon from VS Code for mini-browser preview

Signed-off-by: Anton Kosyakov <[email protected]>

* Added collapse all toolbar item to the explorer

Added a `collapse all` toolbar item to the explorer
used to collapse all nodes from the `navigator-tree`.

Signed-off-by: Vincent Fugnitto <[email protected]>

* [navigator] don't apply collapse all item to all widgets

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#4651: apply default configuration overrides properly

Signed-off-by: Anton Kosyakov <[email protected]>

* Fix minor typo in tree.spec.ts

- Fixed minor typo found in `tree.spec.ts`.

Signed-off-by: Vincent Fugnitto <[email protected]>

* keep properties in definitions of contributed tasks

Task constructor assigns type and id to contributed tasks and removes all the other properties from the task definitions at the same time. This causes Theia not having enough information to proceed when applying customization from tasks.json to the contributed tasks. With this change no properties would be removed from definitions of contributed tasks.

Signed-off-by: elaihau <[email protected]>

* Set background of webview-icons to 'none'.

Fixes eclipse-theia#4664

Signed-off-by: Jan Bicker <[email protected]>

* editorconfig: Apply properties to Monaco editor when opening/switching editor

Since commit 260d794 ("[editorconfig] Don't apply all properties on
open"), the editorconfig settings are not applied to the Monaco editor.
For example, if my .editorconfig file says that *.py files should use
tabs with a tab width of 7, I would expect the Monaco editor to be set
to "tab" and a tab width of 7 when I open a .py file.  At the moment,
this does not happen.

The method that applies these properties to the Monaco editor is
applyProperties.  This method is however not called anywhere outside
tests (the commit mentioned above removed the only call).

I have added back the call, such that when an editor is created or the
current editor changes, we apply the settings from the .editorconfig to
the Monaco editor.

I verified that the behavior the commit mentioned above meant to fix is
kept.  That is, no modification is done to the file contents as a result
of just opening the file (or switching to and editor where it is open).
Even if I have "trim_trailing_whitespace = true" in my .editorconfig,
opening the file does not cause the trailing whitespaces to be trimmed.
Pressing ctrl-s, however, does (even if the editor doesn't appear as
"dirty").

Fixes eclipse-theia#4308

Signed-off-by: Simon Marchi <[email protected]>

* [Styling] various style changes

- bigger tab bars and menu
- use different background colors instead of borders

Signed-off-by: Sven Efftinge <[email protected]>

* [core] disabled expand animation

Signed-off-by: Sven Efftinge <[email protected]>

* fixed typo

Signed-off-by: Thomas Drosdzoll <[email protected]>

* typehierarchy shortcut is now ctrlcmd+shift+h

Signed-off-by: Thomas Drosdzoll <[email protected]>

* Fix incorrect styling

Fixes eclipse-theia#4678

- Added a new variable to handle the notification-count height
to limit the risk of updating it as a side effect.
- Added a new variable to handle the mini browser toolbar height
to limit the risk of updating it as a side effect.

Signed-off-by: Vincent Fugnitto <[email protected]>

* [Core UX] Don't close on CTRL+W

Registers event listener which make sure that
window doesn't get closed if CMD/CTRL W is
pressed. Too many users have that in their
muscle memory. Chrome doesn't let us rebind or
prevent default the keybinding, so this at least
doesn't close the window immediately.

Signed-off-by: Sven Efftinge <[email protected]>

* Fix tree node capitalization outside of nav

Fixes eclipse-theia#4692

The PR eclipse-theia#4670 introduced changes which meant that the navigator's file tree's
first node was capitalized among other styling updates. Since other components
use the same `class` `theia-FileTree`, those components were also updated as a
consequence. This PR addresses that issue by making sure only the navigator
gets the new styling by using its `id` instead of the generic class.

Signed-off-by: Vincent Fugnitto <[email protected]>

* fix eclipse-theia#4661: fix content assist in user preferences

Signed-off-by: Anton Kosyakov <[email protected]>

* [core] Fixed broken wheel listener

Fixes eclipse-theia#4695

Signed-off-by: Sven Efftinge <[email protected]>

* [UX] indicate active widgets on bottom panel

Also fixed some icons not shown in main tab bars.

Signed-off-by: Sven Efftinge <[email protected]>

* [shell] fix eclipse-theia#4697: reset prevent close on keyup and beforeunload

Signed-off-by: Anton Kosyakov <[email protected]>

* Add preferences to handle clang-tidy functionality when clangd v9+ is used.

Fixes issue eclipse-theia#4579
This is a new linter for C/C++. There are two ways to initiate the linter:
  - From the preferences
  - Adding a new file located in the same folder of the files or a parent folder: .clang-tidy

Signed-off-by: Jacques Bouthillier <[email protected]>

* Add line numbers to search-in-workspace results

Added line numbers to the `search-in-workspace` results, which
are added through a preference. This enables users to easily
view which line the results are found with the already included
file name and short excerpt of line.

Signed-off-by: Vincent Fugnitto <[email protected]>

* added tests for interfaces Tree, TreeExpansionService

Signed-off-by: Thomas Drosdzoll <[email protected]>

test greening

Signed-off-by: Thomas Drosdzoll <[email protected]>

fixed minor typo in tree-expansion.spec.ts

Signed-off-by: Thomas Drosdzoll <[email protected]>

* fix eclipse-theia#3674: fix ToolbarAwareTabBar detachment

Detachment should rollback what attachment does, not remove nodes created in the constructor.

Signed-off-by: Anton Kosyakov <[email protected]>

* Promise.reject uses Error instead of strings

Signed-off-by: Thomas Drosdzoll <[email protected]>

added new to Error instation

* Update file-icons in sidepanels to not have backgrounds

Fixes eclipse-theia#4704

- `file-icons` present in the sidebars (when an editor is docked on either side)
and are inactive, an odd background box is displayed. This background property
is used by other types of icons (mostly svg) so they have the proper color. In
the case of `file-icons` it is enough to simply not apply this background styling.

Signed-off-by: Vincent Fugnitto <[email protected]>

* make sidebar widgets closable

Signed-off-by: Uni Sayo <[email protected]>

* Add files.associations property

Signed-off-by: Anatoliy Bazko <[email protected]>

* Update callhierarchy tree styling

Fixes eclipse-theia#4643

- update the `callhierarchy` tree styling when resizing.
favor the display of the `symbol` when resizing.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Update readme screenshot

Fixes eclipse-theia#4635

- Updated the readme screenshot to reflect the recent changes to the user interface.
- Use the absolute path instead of relative for the screenshot source.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Improved performance for the file rename action

When a file or a folder is renamed from the context menu, if the overwrite flag is set to false, the rename is performed (by the mv library) by copying the source to the target and then deleting the source. If the source file or folder is large, this process may take a long time during which the user is shown the two folders.

Since the renaming action already checks that no file or folder with the target name exists, it's safe to set the overwrite flag to true.

Signed-off-by: Federico Bozzini <[email protected]>

* Add missing licenses

Fixes eclipse-theia#4718

In order to help with the IP scan performed by the Eclipse Foundation, it
would help to add license info in each `package.json`. This PR addresses
the `package.json` which do not currently have licenses.

Signed-off-by: Vincent Fugnitto <[email protected]>

* .gitignore plugins folder

The default location for the plugins folder is in the sources, but it is
currently not ignored.

Signed-off-by: Paul Maréchal <[email protected]>

* Don't redeploy already initialized plugins

Signed-off-by: Anatoliy Bazko <[email protected]>

* Fix adding files.associations property

Signed-off-by: Anatoliy Bazko <[email protected]>

* set core.toggale.bottom.panel's priority to -1000

do not allow <= 0 priority in right status bar for plugins

Signed-off-by: Uni Sayo <[email protected]>

revert c3d4807, move the 'core.toggle.bottom.panel' to the last item

Signed-off-by: Uni Sayo <[email protected]>

revert 9f33a31, set core.toggle.bottom.panel priority to -1000

Signed-off-by: Uni Sayo <[email protected]>

* Fix eclipse-theia#4740

Signed-off-by: Feng Qingxue <[email protected]>

* Bump VS Code API version

Change-Id: Ifb5f82e0f914a47ba2b0cbc7529452a9a0c68287
Signed-off-by: Florent Benoit <[email protected]>

* Added NOTICE.md file

This file is mandated by the Foundation. For the most part it's auto-
generated. Exception: the "Electron" section towards the end has been
manually added, as requested in CQ #19253, comment eclipse-theia#17.

To eventually update this file, See the Eclipse Theia project page,
navigate to the "Legal Documentation Generator" and look for "NOTICE
FILE".

Today the direct URL is:
https://www.eclipse.org/projects/tools/documentation.php?id=ecd.theia

Make sure to preserve the manually added "Electron" section
at the end.

Signed-off-by: Marc Dumais <[email protected]>

* Update the explorer to handle multiple-root workspaces

Currently the explorer applies styling for the first
child node (workspace root) but this does not work
in the context of a multiple-root workspace. When in a multiple
root workspace add a root node which simply describes the workspace
name and aligns with vscode.

Signed-off-by: Vincent Fugnitto <[email protected]>

* change dependency vscode-nsfw to Axosoft/nsfw

- resolves eclipse-theia#4105

Signed-off-by: elaihau <[email protected]>

* Added LanguageConfiguration (comments, brackets, pairs) for Perl

Signed-off-by: Toon Van Dooren <[email protected]>

* Update CHANGELOG for 0.5.0 release

Signed-off-by: Vincent Fugnitto <[email protected]>

* publish v0.5.0

Signed-off-by: Marc Dumais <[email protected]>

* fix eclipse-theia#4088: Add 'Upload Files...' menu entries

Signed-off-by: Anton Kosyakov <[email protected]>

* [tree] fix handling global selection

Signed-off-by: Anton Kosyakov <[email protected]>

* fix eclipse-theia#2566: report fs events for real paths

Signed-off-by: Anton Kosyakov <[email protected]>

* eclipse-che/che-theia#103 fix 'getTask' method

Signed-off-by: Yevhen Vydolob <[email protected]>

* Publish typedoc to github pages on deploy

Change-Id: I3cef27ba76804cd3194ed81c2d343be9ad9e0282
Signed-off-by: Florent Benoit <[email protected]>

* fix eclipse-theia#4524 add files.enableTrash preference

Signed-off-by: Anton Kosyakov <[email protected]>

* fix 4334: allow to override default preference values for application

Signed-off-by: Anton Kosyakov <[email protected]>

* allow promises on validate.  fix inconsistent selection, add CHANGELOG

This allow creation of files and folders recursive path.
improve validation check, add cancellationtoken

separate validation for absolutpath and leading/trailing spaces

Signed-off-by: Uni Sayo <[email protected]>

* fix eclipse-theia#4776: turn off autoSave by deafult

Signed-off-by: Anton Kosyakov <[email protected]>

* Set a minWidth and minHeight in frontend-generator for electron app.

Signed-off-by: jbicker <[email protected]>

* Allow to choose through CLI the VS Code API version that is provided by vscode.version call in a VS Code extension

$ yarn run start --vscode-api-version=1.40

(and you'll get 1.40 as API version)

note: default value is displayed in help as well

Change-Id: I371e3b008f8d9a8bbd9e047dada4f75e1137e17a
Signed-off-by: Florent Benoit <[email protected]>

* Use external absolute link for logo

It's useful when embedding README in other pages (usecase = the typedoc)
So the logo is displayed nicely.

Change-Id: Ic1063d972d13eb52bef1248ccf869e3ec0e01f23
Signed-off-by: Florent Benoit <[email protected]>

* Add ability to configure task

Signed-off-by: Roman Nikitenko <[email protected]>

* remove docs script in each package as we now have the root documentation that is generating the typedoc for the whole modules

Change-Id: I0c47554e1a99e22c7b519c94afa7cfd9be1622a4
Signed-off-by: Florent Benoit <[email protected]>

* [file-search] fix eclipse-theia#4599: don't mess around with given include patterns

Signed-off-by: Anton Kosyakov <[email protected]>

* [file-search] excludePatterns without magic

Signed-off-by: Anton Kosyakov <[email protected]>

* [filesystem] Fixes eclipse-theia#4792 XSS vulnerability.

Mitigates the issue by removing all unsanitized information from the
response.

Signed-off-by: Casey Flynn <[email protected]>

* Don't rewrite debug capabilities

Signed-off-by: Valeriy Svydenko <[email protected]>

* Check whether selected item in dialog is non-leaf node

Signed-off-by: Vladyslav Zhukovskyi <[email protected]>

* set minimum value for lineHeight and fontSize and align it with VS Code

Signed-off-by: Uni Sayo <[email protected]>

* Fix incorrect method name for registerReferenceProvider

Fix typo in `registerReferenceProvider` Plug-in API.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Add CodeActionKind intersects() Plugin API

Added the Plugin API for `CodeActionKind` `intersects(other: CodeActionKind)` method.

Signed-off-by: Vincent Fugnitto <[email protected]>

* fix eclipse-theia#4459: register text decoration key in proper service

Signed-off-by: Anton Kosyakov <[email protected]>

* fix gotodefinition failure when editor in preview mode

this path add preview option to EditorOpenerOptions according to 'editor.enablePreview' preference.
if editor.enablePreview changed to false will pin all prevew widget.

Signed-off-by: yewei <[email protected]>

* Fix plug-in path selection dialog for hosted instance

Signed-off-by: Mykola Morhun <[email protected]>

* Handle copying when source and target destinations are the same

Fixes eclipse-theia#4812

- Fixes an issue when calling `copy` from the filesystem when
the `source` and `target` destinations are the same. Currently,
no check is performed to verify if the paths are different
which leads to `fs-extra` throwing an error.

Signed-off-by: Vincent Fugnitto <[email protected]>

* Update electron and node packages

Signed-off-by: Rob Moran <[email protected]>

* update gitpod to use node 10

Signed-off-by: Anton Kosyakov <[email protected]>

* Remove no longer used interfaces from java-protocol.ts

This is a follow-up ot eclipse-theia#2574 which moved semantic highlighting interfaces
to a language-agnostic place but left these interfaces behind.

Signed-off-by: Nathan Ridge <[email protected]>

* [vscode] fix eclipse-theia#4339: focus and reveal webviews properly

Signed-off-by: Anton Kosyakov <[email protected]>

* Support icons in tail decorators

Signed-off-by: Rob Moran <[email protected]>
DoroNahari pushed a commit to DoroNahari/theia that referenced this issue Apr 29, 2019
Signed-off-by: Anton Kosyakov <[email protected]>

Signed-off-by: Doron Nahari [email protected]
@davide-sergi
Copy link

davide-sergi commented Jun 24, 2021

@akosyakov From this discussion, I understood that is not possible to select programmatically (e.g. via command invocation) a file or folder, right? I ask because I'm trying to do so from my plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement issues that are enhancements to current functionality - nice to haves filesystem issues related to the filesystem
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants