eclipse / acute Goto Github PK
View Code? Open in Web Editor NEWEclipse aCute - C# edition in Eclipse IDE
Home Page: https://projects.eclipse.org/projects/tools.acute
License: Eclipse Public License 2.0
Eclipse aCute - C# edition in Eclipse IDE
Home Page: https://projects.eclipse.org/projects/tools.acute
License: Eclipse Public License 2.0
When installing aCute in the license dialog the only text is "license"
The wizard is missing a dedicated icon in the wizard selection, and is missing an image in the wizard page title bar.
When wizard completes, it should open the generated Program.cs file so user can immediately start updating their new project.
We should add some basic tests to cover at least the most basic use-case of the dotnet new
wizard.
Hi. I have Eclipse Neon.3 on Windows8.1, and I added .NET Core 2.0, but I still get "The installation cannot be completed as requested." every time I try to add aCute C# edition in Eclipse IDE (experimental) 0.1.0-SnapShot to Eclipse. I tried starting from Eclipse Marketplace & the drag & drop.
Node. is executable has a different name on this system: "nodejs" instead of "node". And it uses version 4 by default.
It causes some uninformative internal eclipse exceptions (null pointer) and omnisharp don't start.
Creating symlink doesn't help: instead of null pointer we got IOException "stream is closed". Omnisharp starts, but finds nothing (even for System package).
I can still write code and run the project, but it is just the same experience as using nano.
May be solved just by warning for Ubuntu users and specifying node. js version requirements?
To avoid confusion with the legacy .NET Framework.
When running imported projects, you receive the error: "dotnet exec needs a managed .dll or .exe extension. The application specified was '/PATH/TO/WORKSPACE/{ProjectName}/bin/Debug/netcoreapp2.0/{File}.dll'
.
With imported projects the path to the .dll file is not in the workspace but within the imported project location and should be referenced there.
.sln
files are meta-project files meant to collect a bunch of projects that IDEs can use. A sln
file describes what projects are part of a larger set of projects.
They are generated by dotnet new
but are also available as a new project template in aCute. But aCute doesnt really seem to use/understand them to create nested/related projects.
I imagine most if not all of these are issues with lsp4e and/or the OmniSharp language server and not because of aCute?
!ENTRY org.eclipse.acute 1 0 2017-07-21 19:38:43.730
!MESSAGE Omnisharp command-line: C:\Program Files\nodejs\node.exe C:\Users\Remy\code\eclipse\aCute\.metadata\.plugins\org.eclipse.pde.core\.bundle_pool\..\..\..\..\org.eclipse.acute.omnisharpServer\server\languageserver\server.js
!ENTRY org.eclipse.lsp4e 4 0 2017-07-21 19:38:44.773
!MESSAGE
!STACK 0
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.getServerCapabilities(ProjectSpecificLanguageServerWrapper.java:423)
at org.eclipse.lsp4e.LanguageServiceAccessor.lambda$3(LanguageServiceAccessor.java:221)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.eclipse.lsp4e.LanguageServiceAccessor.getMatchingStartedWrappers(LanguageServiceAccessor.java:223)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:143)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSPDocumentInfosFor(LanguageServiceAccessor.java:261)
at org.eclipse.lsp4e.outline.EditorToOutlineAdapterFactory.getAdapter(EditorToOutlineAdapterFactory.java:27)
at org.eclipse.core.internal.adapter.AdapterFactoryProxy.getAdapter(AdapterFactoryProxy.java:82)
at org.eclipse.core.internal.runtime.AdapterManager.getAdapter(AdapterManager.java:295)
at org.eclipse.ui.part.WorkbenchPart.getAdapter(WorkbenchPart.java:142)
at org.eclipse.ui.texteditor.AbstractTextEditor.getAdapter(AbstractTextEditor.java:6185)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.getAdapter(AbstractDecoratedTextEditor.java:1418)
at org.eclipse.ui.editors.text.TextEditor.getAdapter(TextEditor.java:160)
at org.eclipse.core.runtime.Adapters.adapt(Adapters.java:59)
at org.eclipse.core.runtime.Adapters.adapt(Adapters.java:107)
at org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOutline.java:126)
at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:385)
at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:728)
at org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(ContentOutline.java:193)
at org.eclipse.ui.part.PageBookView$1.partBroughtToTop(PageBookView.java:1033)
at org.eclipse.ui.internal.WorkbenchPage$27.run(WorkbenchPage.java:5211)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.java:5208)
at org.eclipse.ui.internal.WorkbenchPage.access$14(WorkbenchPage.java:5192)
at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partBroughtToTop(WorkbenchPage.java:219)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$7.run(PartServiceImpl.java:314)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartBroughtToTop(PartServiceImpl.java:311)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.access$4(PartServiceImpl.java:309)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:106)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4889)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:173)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:620)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:584)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:768)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1187)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3261)
at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3176)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3158)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3153)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3117)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3107)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:563)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:518)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:100)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:97)
at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:216)
at org.eclipse.ui.navigator.CommonNavigatorManager$2.open(CommonNavigatorManager.java:191)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:46)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:851)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:848)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1163)
at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:273)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:268)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1044)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
!ENTRY org.eclipse.lsp4e 4 0 2017-07-21 19:38:44.777
!MESSAGE
!STACK 0
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.getServerCapabilities(ProjectSpecificLanguageServerWrapper.java:423)
at org.eclipse.lsp4e.LanguageServiceAccessor.lambda$3(LanguageServiceAccessor.java:221)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.eclipse.lsp4e.LanguageServiceAccessor.getMatchingStartedWrappers(LanguageServiceAccessor.java:223)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:143)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSPDocumentInfosFor(LanguageServiceAccessor.java:261)
at org.eclipse.lsp4e.ConnectDocumentToLanguageServerSetupParticipant$1.run(ConnectDocumentToLanguageServerSetupParticipant.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
!ENTRY org.eclipse.lsp4e 4 0 2017-07-21 19:38:44.777
!MESSAGE
!STACK 0
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.getServerCapabilities(ProjectSpecificLanguageServerWrapper.java:423)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:165)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSPDocumentInfosFor(LanguageServiceAccessor.java:261)
at org.eclipse.lsp4e.outline.EditorToOutlineAdapterFactory.getAdapter(EditorToOutlineAdapterFactory.java:27)
at org.eclipse.core.internal.adapter.AdapterFactoryProxy.getAdapter(AdapterFactoryProxy.java:82)
at org.eclipse.core.internal.runtime.AdapterManager.getAdapter(AdapterManager.java:295)
at org.eclipse.ui.part.WorkbenchPart.getAdapter(WorkbenchPart.java:142)
at org.eclipse.ui.texteditor.AbstractTextEditor.getAdapter(AbstractTextEditor.java:6185)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.getAdapter(AbstractDecoratedTextEditor.java:1418)
at org.eclipse.ui.editors.text.TextEditor.getAdapter(TextEditor.java:160)
at org.eclipse.core.runtime.Adapters.adapt(Adapters.java:59)
at org.eclipse.core.runtime.Adapters.adapt(Adapters.java:107)
at org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOutline.java:126)
at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:385)
at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:728)
at org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(ContentOutline.java:193)
at org.eclipse.ui.part.PageBookView$1.partBroughtToTop(PageBookView.java:1033)
at org.eclipse.ui.internal.WorkbenchPage$27.run(WorkbenchPage.java:5211)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.java:5208)
at org.eclipse.ui.internal.WorkbenchPage.access$14(WorkbenchPage.java:5192)
at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partBroughtToTop(WorkbenchPage.java:219)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$7.run(PartServiceImpl.java:314)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartBroughtToTop(PartServiceImpl.java:311)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.access$4(PartServiceImpl.java:309)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:106)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4889)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:173)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:620)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:584)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:768)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1187)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3261)
at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3176)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3158)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3153)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3117)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3107)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:563)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:518)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:100)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:97)
at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:216)
at org.eclipse.ui.navigator.CommonNavigatorManager$2.open(CommonNavigatorManager.java:191)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:46)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:851)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:848)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1163)
at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:273)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:268)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1044)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
!ENTRY org.eclipse.lsp4e 4 0 2017-07-21 19:38:44.792
!MESSAGE
!STACK 0
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.getServerCapabilities(ProjectSpecificLanguageServerWrapper.java:423)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:165)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSPDocumentInfosFor(LanguageServiceAccessor.java:261)
at org.eclipse.lsp4e.ConnectDocumentToLanguageServerSetupParticipant$1.run(ConnectDocumentToLanguageServerSetupParticipant.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
!ENTRY org.eclipse.lsp4e 4 0 2017-07-21 19:38:44.949
!MESSAGE Unhandled method textDocument/documentSymbol
!STACK 0
org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Unhandled method textDocument/documentSymbol
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.logMessage(ProjectSpecificLanguageServerWrapper.java:287)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.lambda$4(ProjectSpecificLanguageServerWrapper.java:229)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:149)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:77)
at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:84)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jul 21, 2017 7:38:50 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleNotification
WARNING: Notification threw an exception: {
"jsonrpc": "2.0",
"method": "textDocument/publishDiagnostics",
"params": {
"uri": "file:///C%3A\\Users\\Remy\\code\\eclipse\\runtime-New_configuration\\NewDotnetProject7\\Program.cs",
"diagnostics": [
{
"range": {
"start": {
"line": 0,
"character": 6
},
"end": {
"line": 0,
"character": 12
}
},
"severity": 1,
"message": "The type or namespace name \u0027System\u0027 could not be found (are you missing a using directive or an assembly reference?)"
},
{
"range": {
"start": {
"line": 4,
"character": 10
},
"end": {
"line": 4,
"character": 17
}
},
"severity": 1,
"message": "Predefined type \u0027System.Object\u0027 is not defined or imported"
},
{
"range": {
"start": {
"line": 6,
"character": 25
},
"end": {
"line": 6,
"character": 31
}
},
"severity": 1,
"message": "Predefined type \u0027System.String\u0027 is not defined or imported"
},
{
"range": {
"start": {
"line": 6,
"character": 15
},
"end": {
"line": 6,
"character": 19
}
},
"severity": 1,
"message": "Predefined type \u0027System.Void\u0027 is not defined or imported"
},
{
"range": {
"start": {
"line": 8,
"character": 12
},
"end": {
"line": 8,
"character": 19
}
},
"severity": 1,
"message": "Predefined type \u0027System.Object\u0027 is not defined or imported"
},
{
"range": {
"start": {
"line": 8,
"character": 12
},
"end": {
"line": 8,
"character": 19
}
},
"severity": 1,
"message": "The name \u0027Console\u0027 does not exist in the current context"
},
{
"range": {
"start": {
"line": 8,
"character": 30
},
"end": {
"line": 8,
"character": 44
}
},
"severity": 1,
"message": "Predefined type \u0027System.String\u0027 is not defined or imported"
},
{
"range": {
"start": {
"line": 4,
"character": 10
},
"end": {
"line": 4,
"character": 17
}
},
"severity": 1,
"message": "\u0027object\u0027 does not contain a constructor that takes 0 arguments"
},
{
"range": {
"start": {
"line": 0,
"character": 0
},
"end": {
"line": 0,
"character": 13
}
},
"severity": 4,
"message": "Unnecessary using directive."
}
]
}
}
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:53)
at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:126)
at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:165)
at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:136)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper.lambda$4(ProjectSpecificLanguageServerWrapper.java:228)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:149)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:77)
at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:84)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:51)
... 12 more
Caused by: java.lang.IllegalArgumentException: Illegal character in path at index 10: file:/C%3A\Users\Remy\code\eclipse\runtime-New_configuration\NewDotnetProject7\Program.cs
at java.net.URI.create(Unknown Source)
at org.eclipse.lsp4e.LSPEclipseUtils.findResourceFor(LSPEclipseUtils.java:125)
at org.eclipse.lsp4e.operations.diagnostics.LSPDiagnosticsToMarkers.accept(LSPDiagnosticsToMarkers.java:56)
at org.eclipse.lsp4e.ProjectSpecificLanguageServerWrapper$1.publishDiagnostics(ProjectSpecificLanguageServerWrapper.java:192)
... 17 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 10: file:/C%3A\Users\Remy\code\eclipse\runtime-New_configuration\NewDotnetProject7\Program.cs
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
... 21 more
We should enable TravisCI on the repo to run PR checks and to automate snapshot build and deployment.
As OmniSharp-node-client and OmniSharp server are MIT (OmniSharp/omnisharp-node-client#391 ), it would be much easier to include those in the distribution than to expect users to have it installed.
This is a composite issue.
We should provide dialogs/workflows to integrate with most common dotnet
CLI operations, such as:
$ dotnet --help
[...]
Common Commands:
new
Initialize a basic .NET project => issue #10restore
build
run
Compiles and immediately executes a .NET project => To map as an Eclipse Run Configuration and right-click > Run As.., issue #20test
Runs unit tests using the test runner specified in the project => To map as an Eclipse Run Configuration and right-click > Run As... => #45pack
publish
Publishes a .NET project for deployment (including the runtime) => To map as an Eclipse export wizard => issue #40My C# editor wouldn't open because the grammar file couldn't be found so I tried to use Fetch Grammar.launch
to fetch it but the launch configuration didn't complete.
[INFO] Scanning for projects...
[ERROR] Internal error: java.lang.RuntimeException: Could not resolve target platform specification artifact org.eclipse.acute:target-platform:target:0.1.0-SNAPSHOT -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Could not resolve target platform specification artifact org.eclipse.acute:target-platform:target:0.1.0-SNAPSHOT
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:121)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.RuntimeException: Could not resolve target platform specification artifact org.eclipse.acute:target-platform:target:0.1.0-SNAPSHOT
at org.eclipse.tycho.core.resolver.DefaultTargetPlatformConfigurationReader.addTargetArtifact(DefaultTargetPlatformConfigurationReader.java:389)
at org.eclipse.tycho.core.resolver.DefaultTargetPlatformConfigurationReader.setTarget(DefaultTargetPlatformConfigurationReader.java:342)
at org.eclipse.tycho.core.resolver.DefaultTargetPlatformConfigurationReader.getTargetPlatformConfiguration(DefaultTargetPlatformConfigurationReader.java:75)
at org.eclipse.tycho.core.resolver.DefaultTychoResolver.setupProject(DefaultTychoResolver.java:87)
at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:90)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:266)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
... 11 more
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException
Unfortunately, I couldn't figure out a way to rerun with -e
or -X
like the error message suggested. My org.eclipse.acute
project has no compiler errors so I feel like my target platform is okay.
I do have two errors in my 'Problems' view but I'm not sure if they're relevant or not.
Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-clean-plugin:2.5:clean (execution: default-clean-1, phase: initialize)
pom.xml /repository
line 9
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.eclipse.tycho:tycho-packaging-plugin:1.0.0:build-qualifier-aggregator (execution: default-build-qualifier-aggregator, phase: validate)
pom.xml /repository
line 4
Maven Project Build Lifecycle Mapping Problem
Usually in Eclipse UI, we prefer to have tables having a border (ie initialized with the SWT.BORDER style)
aCute should contain a more user friendly editor for .csproj files instead of the basic text editor. Adding a Form Editor would allow for more integration with NuGet such as searching and adding packages to the project. Basic Generic Editor support should also be added.
There should be at least a simple test opening a .cs file with the Generic Editor and checking that the StyledText has some style set.
Latest snapshot of LSP4E has support for VSCode Debug Adapter. Omnisharp has an implementation of the protocol at https://github.com/OmniSharp/omnisharp-vscode/blob/26508b3b3a27b42e6fc1c5883948686723385007/src/coreclr-debug/proxy.ts .
aCute should use the Debug Protocol adapter in LSP4E to connect to the debugger provided by OmniSharp.
Iterations:
See OmniSharp/omnisharp-roslyn#968 (comment) . We should make aCute use omnisharp-roslyn directly.
If I try to create a new C# console application, I will get an error because the dotnet
command dies with a -1
.
The problem is because template
is a space-delimited string. ProcessBuilder
expects a string array for its string arguments but it gets a space-delimited string appended to it instead.
It should be a string array with five strings in the form of [dotnet, new, classlib, -lang, C#]
instead. I am surprised that this wizard is working on Linux. The code in DotnetNewAccessor is very obviously appending spaces into the template so I don't know why ProcessBuilder
isn't dying on Linux. Perhaps the output is different and it doesn't have a language column in its output?
On projects/folders which are valid .NET projects, it would be great to allow "Run As > .NET project" that would delegate to dotnet run
. This would most likely require to create a .NET Launch Configuration ( http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fdebug_launch_adding.htm )
If I try to create a new project on a non-existent folder (which it seems to do automatically by appending numbers at the end such as NewDotNetProject3
and so on or whatever), an exception will occur because the folder doesn't exist and ProcessBuilder
is trying to use it for the current working directory.
java.io.IOException: Cannot run program "dotnet" (in directory "C:\Users\Remy\code\eclipse\runtime-New_configuration\NewDotnetProject4"): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at org.eclipse.acute.dotnetnew.DotnetNewWizard.lambda$0(DotnetNewWizard.java:118)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 3 more
Doing a Run As > .NET Core Project
on a web server doesn't provide a way to stop the server: either by
I've seen this NPE
java.lang.NullPointerException
at org.eclipse.acute.dotnetnew.DotnetNewWizardPage.isPageComplete(DotnetNewWizardPage.java:296)
at org.eclipse.jface.wizard.Wizard.canFinish(Wizard.java:156)
at org.eclipse.jface.wizard.WizardDialog.updateButtons(WizardDialog.java:1284)
at org.eclipse.jface.wizard.WizardDialog.update(WizardDialog.java:1275)
at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1204)
at org.eclipse.jface.wizard.WizardDialog.lambda$3(WizardDialog.java:1169)
Either null should be checked here, or the templatesMap
should be initialized with Collections.emptyMap()
in the constructor.
For generating the list of templates to be displayed in the project wizard, DotnetNewAccessor.java
uses the command dotnet new -- list
. This is not valid. The command should be dotnet new --list
or dotnet new -l
.
A good practice for wizards is to have them ready to "Finish" on open. To achieve that, it's generally nice to pre-set the required empty fields with default values. For example, in this case, the directory could be ResourcePlugin.getWorkspace().getLocation().append("dotnetProject")
. If there are already folders with this name, append a 2
, 3
... to make sure this is a non-existing folder (which is most likely what basic users would want to use)
aCute has test to verify that the language server starts and is well associated, but there is nothing to check that it's actually working, It seems impoortant to add a test ensuring the LS works.
Currently, the editor, as it relies on Omnisharp-node-client suffering from OmniSharp/omnisharp-node-client#434 , is not able to provide edition assistance for dotnet 2.0 project (using .csproj
description files).
I just installed aCute and when I tried to create a new project, it complained that there are no templates available.
I tried to find a place where I could create a template, but couldn't find any.
Using the marketplace install leads to:
Missing requirement: C# edition in Eclipse IDE 0.1.0.201701251705 (org.eclipse.acute 0.1.0.201701251705) requires 'bundle org.eclipse.tm4e.core 0.0.0' but it could not be found.
So far omnisharp requires project.json but I've been told this is going to be replaced by smth else.
Omnisharp-roslyn beta we're using currently fails at building on macOS so macOS support is not published at https://github.com/OmniSharp/omnisharp-roslyn/releases .
As soon as a release with mac support is published, we should ask a CQ for it and then migrate to newer version.
Most interesting is OmniSharp/omnisharp-node-client@bdf5757 which updates roslyn and contains a number of changes.
Runs unit tests using the test runner specified in the project => To map as an Eclipse Run Configuration and right-click > Run As...
Currently, reading the templates has assumptions on the number of lines. I don't think this is a very safe implementation that scales across environments and versions of dotnet. We should consider something more robust such as looking for a pattern or finding the header line to read the following ones only.
Exception in thread "Text Viewer Hover Presenter" java.lang.NoClassDefFoundError: com/google/gson/annotations/JsonAdapter
at com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory.create(JsonAdapterAnnotationTypeAdapterFactory.java:45)
Fix for it should be in https://git.eclipse.org/r/#/c/89494/5
Most projects require users to first run dotnet restore
on a project before the editor (the underlying LS actually) provide most features. This is caused by OmniSharp/omnisharp-node-client#265
Invoking dotnet restore
should be made automatically when starting up the LS so user isn't expected to do anything else.
If the current selection when doing dotnet new
adapts to a file or a folder, it would be nice to prepopulate the fields of the wizard with the current selection.
For example, if I select a folder in Project Explorer and do right-click > New > Project > .NET Project, I'd be happy to see the selected folder already set as target for the new project.
In order to have a faster feedback loop, we should consider creating a "Dotnet Builder" on project that would perform dotnet build
on code changes (when project doesn't have error marker on C# files).
This builder could be placed by default on New Project creation.
I'm trying latest aCute on Red Hat Developers Studio.
When I do "Run As > .Net Core Project", the UI seems to freeze for a few seconds. Some long-running operations are probably running in UI Thread.
As Eclipse IDE hosts Gson, I suggest you that you use GSon instead of using org.json.JSONObject at https://github.com/eclipse/aCute/blob/master/org.eclipse.acute/src/org/eclipse/acute/ProjectFileAccessor.java#L57 to avoid having a new JSOn dependency.
In the scenario where a project with a folder containing a C# project is imported, aCute does not recognize the folder as a C# project and will not allow the addition of the dotnet builder or running the project.
As brought up in Issue #94, The need for a preferences page where users can input the path to the dotnet
command location is highly valued. This page would also allow for easier customization of future developments.
The scope of this enhancement would be:
Contribution of a preference to configure the dotnet
path, a preference initializer and a preference page designed for simple addition of new preferences.
Projects with multiple frameworks are unable to be run as the dotnet run command fails asking to specify a target framework.
I have a newly installed Oxygen, and installed the 0.1.0 release, but am told that I need templates, that does not seem to be there, to create a new project.
VSCode switched to https://github.com/dotnet/csharp-tmLanguage aCute would better do the same.
dotnet publish
Publishes a .NET project for deployment (including the runtime) => To map as an Eclipse export wizard
Is the icon a correct .NET Core icon? If so, are there any legal implications in using it?
On initialization (to populate template list) or on completion (to create and open project), some long operations are running an blocking UI. We should always avoid blocking UIs, by using asynchronous work and/or eye-candies.
The wizard can use getContainer().run(...)
method to use a progress monitor for long operation.
For the list of templates, it's better to populate it asynchronously using a Job to retrieve data and then put results in the table.
Marketplacen entry report at https://marketplace.eclipse.org/content/error/report/3640769
that 17 installations failed with the same error:
Cannot complete the install because one or more required items could not be found. Software being installed: ACute - C# edition in Eclipse IDE (Experimental) 0.1.0.201708311821 (org.eclipse.acute.feature.feature.group 0.1.0.201708311821) Missing requirement: C# edition in Eclipse IDE 0.1.0.201708311821 (org.eclipse.acute 0.1.0.201708311821) requires 'bundle org.eclipse.core.resources 3.12.0' but it could not be found Cannot satisfy dependency: From: ACute - C# edition in Eclipse IDE (Experimental) 0.1.0.201708311821 (org.eclipse.acute.feature.feature.group 0.1.0.201708311821) To: org.eclipse.acute [0.1.0.201708311821]
We need to investigate whether we actually require this version of org.eclipse.core.resources, and whether we can put a wider compatibility range to remain compatible with previous versions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.