This plugin allows creating or editing Excalidraw virtual whiteboard within the IDE.

Overview

Excalidraw Integration for Jetbrains IDEs

Build Version Downloads Conventional Commits

This plugin allows creating or editing Excalidraw virtual whiteboard within the IDE.

Installation

  • Using IDE built-in plugin system:

    Settings/Preferences > Plugins > Marketplace > Search for "excalidraw-jetbrains-plugin" > Install Plugin

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

How do I build and run this project?

For development purpose, clone the project locally and start it with the command:

./gradlew runIde

This will build the plugin and start a sandboxed instance of IntelliJ with the plugin already installed. You can even start this in debug mode.


The Logo is inspired from the actual Excalidraw logo (MIT licensed).

Comments
  • java.lang.AssertionError: Not alive: Terminating

    java.lang.AssertionError: Not alive: Terminating

    Overall the plugin works great, but from time to time I'm receiving the following error.

    Unhandled exception in [StandaloneCoroutine{Cancelling}@77516895, Dispatchers.Default]
    
    java.lang.AssertionError: Not alive: Terminating
    	at com.jetbrains.rd.util.lifetime.RLifetimeKt.assertAlive(RLifetime.kt:347)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController.runJS(ExcalidrawWebViewController.kt:349)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController.saveAsCoroutines(ExcalidrawWebViewController.kt:333)
    	at com.github.bric3.excalidraw.editor.ExcalidrawEditor$saveCoroutines$1.invokeSuspend(ExcalidrawEditor.kt:210)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
    

    IntelliJ IDEA 2021.2.2 (Ultimate Edition) Build #IU-212.5284.40, built on September 14, 2021 Runtime version: 11.0.12+7-b1504.28 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 11.6 GC: G1 Young Generation, G1 Old Generation Memory: 1262M Cores: 16 Non-Bundled Plugins: com.github.bric3.excalidraw (0.3.2), org.openpolicyagent.opa-idea-plugin (0.6.0.0-211), org.jetbrains.plugins.go-template (212.4746.52), org.jetbrains.kotlin (212-1.5.31-release-546-IJ4638.7), com.intellij.kubernetes (212.5284.17), org.jetbrains.plugins.go (212.5284.31) Kotlin: 212-1.5.31-release-546-IJ4638.7

    opened by danielpacak 3
  • DevTools cannot load SourceMap files (`net::ERR_NAME_NOT_RESOLVED`)

    DevTools cannot load SourceMap files (`net::ERR_NAME_NOT_RESOLVED`)

    I opened a ticket on JCEF about sourcemap not available in DevTools, see https://bitbucket.org/chromiumembedded/java-cef/issues/403/devtools-cannot-load-sourcemap-files-net


    I have Java code that expose a progressive web app via JCEF. However the third-party web-app javascript is minified. They do provide source maps however. This works fine in a usual browser.

    However when running inside a JCEF frame, the devtools cannot load these source maps.

    DevTools failed to load SourceMap: Could not load content for https://my-app/2.c9d7d260.chunk.js.map: Connection error: net::ERR_NAME_NOT_RESOLVED
    DevTools failed to load SourceMap: Could not load content for https://my-app/main.a7bce6af.chunk.js.map: Connection error: net::ERR_NAME_NOT_RESOLVED
    DevTools failed to load SourceMap: Could not load content for https://my-app/main.0d980f3a.chunk.css.map: Connection error: net::ERR_NAME_NOT_RESOLVED
    

    I am registering a custom scheme handler

    CefApp.getInstance().registerSchemeHandlerFactory(
        "https", appDomain,
        SchemeHandlerFactory { uri: URI ->
            BufferedInputStream(WebView::class.java.getResourceAsStream("/assets" + uri.path))
        }
    ).also { successful -> assert(successful) }
    

    I even tried to hook a request handler

    object : CefRequestHandlerAdapter() {
        override fun getResourceRequestHandler(
            browser: CefBrowser?,
            frame: CefFrame?,
            request: CefRequest?,
            isNavigation: Boolean,
            isDownload: Boolean,
            requestInitiator: String?,
            disableDefaultHandling: BoolRef?
        ): CefResourceRequestHandler? {
            println(request)
            return super.getResourceRequestHandler(
                browser,
                frame,
                request,
                isNavigation,
                isDownload,
                requestInitiator,
                disableDefaultHandling
            )
        }
    }.also { requestHandler ->
        cefBrowser.client.addRequestHandler(requestHandler)
        lifetime.onTermination {
            cefBrowser.client.removeRequestHandler()
        }
    }
    

    Debugging at these location didn’t help much, as I don’t see any request to https://my-app/2.c9d7d260.chunk.js.map for example.

    I am not sure if this is a bug or a missing feature, or simply a misuse.


    I even tried to add this request handler on the devtool browser cefBrowser.devTools

    wontfix developer experience 
    opened by bric3 3
  • Open Excalidraw UI instead of JSON editor when creating sketch files

    Open Excalidraw UI instead of JSON editor when creating sketch files

    Here is a proposed solution for issue #91. The idea is for the scratch menu(s) to default to the Excalidraw UI instead of JSON editor when creating new file.

    opened by michael-pratt 2
  • Toggle light mode separate from IDE theme

    Toggle light mode separate from IDE theme

    It doesn't appear that the current plugin supports toggling light mode independent of the IDE color scheme. Would it be possible to add this in a future release?

    opened by michael-pratt 2
  • Error on save

    Error on save

    When saving drawing into PNG or SVG, nothing happens. In logs, I'm receiving an error:

    2022-04-20 20:51:47,320 [377982618] SEVERE - #c.g.b.e.e.ExcalidrawWebViewController - [LOGSEVERITY_ERROR][https://excalidraw-jetbrains-plugin/index.html:1]:
    Uncaught SyntaxError: Unexpected end of JSON input
    java.lang.Throwable: [LOGSEVERITY_ERROR][https://excalidraw-jetbrains-plugin/index.html:1]:
    Uncaught SyntaxError: Unexpected end of JSON input
    	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:182)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController$initJcefPanel$5.onConsoleMessage(ExcalidrawWebViewController.kt:219)
    	at com.intellij.ui.jcef.JBCefClient$3.lambda$onConsoleMessage$4(JBCefClient.java:306)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.lambda$handle$0(JBCefClient.java:725)
    	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    	at java.base/java.util.Collections$SynchronizedCollection.forEach(Collections.java:2067)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.handle(JBCefClient.java:725)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.handleBoolean(JBCefClient.java:730)
    	at com.intellij.ui.jcef.JBCefClient$3.onConsoleMessage(JBCefClient.java:305)
    	at jcef/org.cef.CefClient.onConsoleMessage(CefClient.java:329)
    2022-04-20 20:51:47,320 [377982618] SEVERE - #c.g.b.e.e.ExcalidrawWebViewController - PyCharm 2022.1  Build #PY-221.5080.212
    2022-04-20 20:51:47,320 [377982618] SEVERE - #c.g.b.e.e.ExcalidrawWebViewController - JDK: 11.0.14.1; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
    2022-04-20 20:51:47,320 [377982618] SEVERE - #c.g.b.e.e.ExcalidrawWebViewController - OS: Mac OS X
    2022-04-20 20:51:47,321 [377982619] SEVERE - #c.g.b.e.e.ExcalidrawWebViewController - Plugin to blame: Excalidraw Integration version: 0.3.2
    
    bug 
    opened by hyzyla 2
  • NPE can be raised even when no excalidraw editor is opened

    NPE can be raised even when no excalidraw editor is opened

    update failed for AnAction(com.github.bric3.excalidraw.actions.ToggleWatermarkSaveOptionAction, id=excalidraw.ToggleSaveWithWatermark) with text=Add Watermark When Saving as Image
    
    java.lang.NullPointerException: null cannot be cast to non-null type com.intellij.psi.PsiFile
    	at com.github.bric3.excalidraw.UtilsKt.findEditor(utils.kt:34)
    	at com.github.bric3.excalidraw.actions.ToggleSaveOptionAction.getSaveOptions(ToggleSaveOptionAction.kt:18)
    	at com.github.bric3.excalidraw.actions.ToggleWatermarkSaveOptionAction.isSelected(ToggleWatermarkSaveOptionAction.kt:8)
    	at com.intellij.openapi.actionSystem.ToggleAction.update(ToggleAction.java:72)
    	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:130)
    	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:144)
    	at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:592)
    	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$7(ActionUpdater.java:132)
    	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$callAction$9(ActionUpdater.java:187)
    	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:57)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
    	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:57)
    	at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$callAction$10(ActionUpdater.java:185)
    	at com.intellij.openapi.actionSystem.impl.ActionUpdateEdtExecutor.lambda$computeOnEdt$0(ActionUpdateEdtExecutor.java:45)
    	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:199)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
    	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350)
    	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
    	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
    	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
    	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
    	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    	at java.base/java.security.AccessController.doPrivileged(Native Method)
    	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:885)
    	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:754)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:441)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825)
    	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:440)
    	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
    	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:486)
    	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
    
    bug 
    opened by bric3 2
  • fix(deps): update dependency @types/node to v18

    fix(deps): update dependency @types/node to v18

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/node (source) | ^16.11.41 -> ^18.0.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • The target origin provided ... does not match the recipient window's origin ('null').

    The target origin provided ... does not match the recipient window's origin ('null').

    Possibly happened during refactoring only

    2022-06-26 05:15:04,454 [  14949]  ERROR - or.ExcalidrawWebViewController - [LOGSEVERITY_ERROR][about:blank:1]:
    Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://excalidraw-jetbrains-plugin') does not match the recipient window's origin ('null'). 
    java.lang.Throwable: [LOGSEVERITY_ERROR][about:blank:1]:
    Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://excalidraw-jetbrains-plugin') does not match the recipient window's origin ('null').
    	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:165)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController$initJcefPanel$5.onConsoleMessage(ExcalidrawWebViewController.kt:222)
    	at com.intellij.ui.jcef.JBCefClient$3.lambda$onConsoleMessage$4(JBCefClient.java:299)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.lambda$handle$0(JBCefClient.java:685)
    	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    	at java.base/java.util.Collections$SynchronizedCollection.forEach(Collections.java:2067)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.handle(JBCefClient.java:685)
    	at com.intellij.ui.jcef.JBCefClient$HandlerSupport.handleBoolean(JBCefClient.java:690)
    	at com.intellij.ui.jcef.JBCefClient$3.onConsoleMessage(JBCefClient.java:298)
    	at jcef/org.cef.CefClient.onConsoleMessage(CefClient.java:319)
    
    opened by bric3 1
  • fix(deps): update dependency @types/react-dom to v18

    fix(deps): update dependency @types/react-dom to v18

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/react-dom (source) | ^17.0.8 -> ^18.0.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • fix(deps): update dependency @types/react to v18

    fix(deps): update dependency @types/react to v18

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/react (source) | ^17.0.11 -> ^18.0.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • fix(deps): update react monorepo to v18 (major)

    fix(deps): update react monorepo to v18 (major)

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react (source) | ^17.0.2 -> ^18.0.0 | age | adoption | passing | confidence | | react-dom (source) | ^17.0.2 -> ^18.0.0 | age | adoption | passing | confidence |


    Release Notes

    facebook/react

    v18.2.0

    Compare Source

    React DOM
    React DOM Server
    Server Components (Experimental)

    v18.1.0

    Compare Source

    React DOM
    React DOM Server
    ESLint Plugin: React Hooks
    Use Subscription

    v18.0.0

    Compare Source

    Below is a list of all new features, APIs, deprecations, and breaking changes. Read React 18 release post and React 18 upgrade guide for more information.

    New Features
    React
    • useId is a new hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it’s even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order.
    • startTransition and useTransition let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results).
    • useDeferredValue lets you defer re-rendering a non-urgent part of the tree. It is similar to debouncing, but has a few advantages compared to it. There is no fixed time delay, so React will attempt the deferred render right after the first render is reflected on the screen. The deferred render is interruptible and doesn't block user input.
    • useSyncExternalStore is a new hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. It removes the need for useEffect when implementing subscriptions to external data sources, and is recommended for any library that integrates with state external to React.
    • useInsertionEffect is a new hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you’ve already built a CSS-in-JS library we don’t expect you to ever use this. This hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout.
    React DOM Client

    These new APIs are now exported from react-dom/client:

    • createRoot: New method to create a root to render or unmount. Use it instead of ReactDOM.render. New features in React 18 don't work without it.
    • hydrateRoot: New method to hydrate a server rendered application. Use it instead of ReactDOM.hydrate in conjunction with the new React DOM Server APIs. New features in React 18 don't work without it.

    Both createRoot and hydrateRoot accept a new option called onRecoverableError in case you want to be notified when React recovers from errors during rendering or hydration for logging. By default, React will use reportError, or console.error in the older browsers.

    React DOM Server

    These new APIs are now exported from react-dom/server and have full support for streaming Suspense on the server:

    • renderToPipeableStream: for streaming in Node environments.
    • renderToReadableStream: for modern edge runtime environments, such as Deno and Cloudflare workers.

    The existing renderToString method keeps working but is discouraged.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • fix(deps): update dependency org.mockito:mockito-core to v4.11.0

    fix(deps): update dependency org.mockito:mockito-core to v4.11.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.mockito:mockito-core | 4.10.0 -> 4.11.0 | age | adoption | passing | confidence |


    Release Notes

    mockito/mockito

    v4.11.0

    Compare Source

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.11.0
    • 2022-12-28 - 1 commit(s) by Andy Coates
    • Improve vararg handling: approach 2 (#​2807)
    • Mocking varargs method with any(String[].class) doesn't work as expected (#​2796)
    • (Argument)Matchers regression from 1.10.19 to 2.18.3 for varargs (#​1498)
    • Cannot verify varargs parameter as an array (#​1222)
    • ArgumentCaptor can't capture varargs-arrays (#​584)
    • Verification of an empty varargs call fails when isNotNull() is used (#​567)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update yarn to v3.3.1

    chore(deps): update yarn to v3.3.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | yarn | 3.3.0 -> 3.3.1 | age | adoption | passing | confidence |


    Release Notes

    yarnpkg/berry

    v3.3.1

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • WebStorm 2022.3 error at startup

    WebStorm 2022.3 error at startup

    Receiving the follow error message at startup in WebStorm 2022.3

    Everything appears to be working as intended, at least I haven't encountered any issues so far, just wanted to make you aware of the issue.

    Unhandled exception in [StandaloneCoroutine{Cancelling}@4d48f5bc, Dispatchers.Default]
    
    java.lang.AssertionError: Not alive: Lifetime `Anonymous` [Terminated, executing=0, resources=0]
    	at com.jetbrains.rd.util.lifetime.RLifetimeKt.assertAlive(RLifetime.kt:524)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController.runJS(ExcalidrawWebViewController.kt:349)
    	at com.github.bric3.excalidraw.editor.ExcalidrawWebViewController.saveAsCoroutines(ExcalidrawWebViewController.kt:333)
    	at com.github.bric3.excalidraw.editor.ExcalidrawEditor$saveCoroutines$1.invokeSuspend(ExcalidrawEditor.kt:210)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
    	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelled}@4d48f5bc, Dispatchers.Default]
    
    opened by p-stevenson 1
  • Replace set-output by environment files

    Replace set-output by environment files

    The set-output command is deprecated and will be disabled soon. Please upgrade to Environment Files.

    https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

    opened by bric3 0
  • Better scratch file support

    Better scratch file support

    Currently, the default file type for Excalidraw on the scratch menu is a JSON type, which causes the IDE to open a new JSON editor instead of a diagram editor. As an enhancement, it would be nice if the scratch file menu instead opened a diagram editor so users could go straight to the Excalidraw UI.

    opened by michael-pratt 2
Releases(v0.3.2)
Owner
Brice Dutheil
0.1x dev. Mostly in Java. Knows a few bits in Cassandra and Kafka. Likes Docker. Likes code quality. Likes bytecode. And greped a really small bit the JVM repo.
Brice Dutheil
✈️ IDE plugin for the IntelliJ platform which adds GitHub Copilot support. (VERY WIP)

JetBrains Copilot GitHub Copilot support for the IntellIJ Platform. Installation Download the latest release. Select the Install Plugin from Disk opti

Koding 155 Dec 10, 2022
A plugin for Jetbrains IDE, Your code is powerful, unleash it like playing osu!

Osu! Mode A plugin for Jetbrains IDE, Your code is powerful, unleash it like playing osu! Demo 2021-10-15.18-50-30.mp4 Bilibili Feature open project /

Nthily 8 Sep 8, 2022
[Deprecated] Android Studio IDE support for Android gradle unit tests. Prepared for Robolectric.

#[Deprecated] Google has finally released a proper solution for unit testing. Therefore this plugin will no longer be activlty maintained. android-stu

Evan Tatarka 236 Dec 30, 2022
Provides a shortcut to copy permalink in their online Git repositories from inside IDE.

Copy Git Link Provides a shortcut to copy permalink in their online Git repositories from inside IDE. Works with: GitHub GitLab Bitbucket My.Movie.4.3

ryo 13 Jan 3, 2023
Leader key for IntelliJ-based IDE's. Now IdeaVim-friendly!

Ataman Ataman - an elected leader of the Cossack troops and settlements Ataman is an Intellij Idea plugin for using leader key for bindings (almost li

Mikhail Levchenko 50 Dec 13, 2022
An IDE plug-in for quick access to Jetpack Compose controls

An IDE plug-in for quick access to Jetpack Compose controls

Jetpack Compose Museum 17 Aug 28, 2022
Manage pull requests and conduct code reviews in your IDE with full source-tree context.

String Manipulation IntelliJ plugin - https://plugins.jetbrains.com/plugin/2162 Sponsored by Manage pull requests and conduct code reviews in your IDE

Vojtěch Krása 582 Dec 22, 2022
This is an android studio plugin that allows you to creates new color in hex format based on a percentage (0-100) and a base color you specify.

alpha-color Description This is an android studio plugin that allows you to creates new color in hex format based on a percentage (0-100) and a base c

null 1 Nov 12, 2021
This is an IDEA plugin that allows you to connect Android devices via WiFi for debugging your codes.

AdbWifiUtils Github | Issues | README | 中文文档 ● [Description]: This is an IDEA plugin that allows you to connect Android devices via WiFi for debugging

AWeiLoveAndroid 3 Sep 19, 2022
gradle-android-scala-plugin adds scala language support to official gradle android plugin

gradle-android-scala-plugin gradle-android-scala-plugin adds scala language support to official gradle android plugin. See also sample projects at htt

saturday06 345 Dec 10, 2022
eventbus-intellij-plugin 3.8 0.0 L1 Java Plugin to navigate between events posted by EventBus.

eventbus-intellij-plugin Plugin to navigate between events posted by EventBus. Post to onEvent and onEvent to Post Install There are two ways. Prefere

Shinnosuke Kugimiya 315 Aug 8, 2022
IntelliJ Idea Astor Plugin is a plugin that integrates Astor in Intellij Idea

IntelliJ Idea Astor Plugin IntelliJ Idea Astor Plugin is a plugin that integrates Astor in Intellij Idea. It communicates with a local/remote program

null 4 Aug 28, 2021
Intellij-platform-plugin-template - IntelliJ Platform Plugin Template

IntelliJ Platform Plugin Template TL;DR: Click the Use this template button and

null 0 Jan 1, 2022
BuildPlots-Plugin - PaperMC-Plugin for build contests written in Kotlin.

BuildPlotsPlugin PaperMC-Plugin for build contests. This is my first time using Kotlin and the first plugin I've written after a long time. It is stil

Lukas Heinzl 0 Jan 1, 2022
Ownership-gradle-plugin - Gradle code ownership verification plugin

Gradle code ownership verification plugin A gradle plugin that will verify owner

null 4 Dec 15, 2022
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.

Gradle Play Publisher Gradle Play Publisher is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and

null 3.9k Dec 30, 2022
A Gradle plugin to report the number of method references in your APK on every build.

Dexcount Gradle Plugin A Gradle plugin to report the number of method references in your APK, AAR, or java module. This helps you keep tabs on the gro

Keepsafe 3k Dec 29, 2022
This plugin help you to set material design icon to your project.

Android Material Design Icon Generator Plugin This plugin help you to set material design icons to your Android project. Installation Manually Downloa

Yusuke Konishi 2.4k Dec 30, 2022
IntelliJ Plugin for Android Parcelable boilerplate code generation.

IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation This tool generates an Android Parcelable implementation based on fi

Michał Charmas 2.1k Dec 27, 2022