mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-29 09:47:50 +08:00
Minor Execution Context links fixes
This commit is contained in:
parent
482874644c
commit
e39e0bb0ce
@ -161,7 +161,7 @@ Sometimes it is not desired, as the coroutine in question was scheduled on [`Dis
|
|||||||
Anyway, it is suspicious when a read action cannot be executed on a background thread and a part of coroutine code cannot be suspended and rescheduled on EDT.
|
Anyway, it is suspicious when a read action cannot be executed on a background thread and a part of coroutine code cannot be suspended and rescheduled on EDT.
|
||||||
This may signal a code issue.
|
This may signal a code issue.
|
||||||
|
|
||||||
Note that this API cannot be used in the [blocking context](execution_contexts.topic#blocking-context).
|
Note that this API cannot be used in the [Blocking Context](execution_contexts.topic#blocking-context).
|
||||||
|
|
||||||
### Suspending `readAndWriteAction()`
|
### Suspending `readAndWriteAction()`
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ Consider rewriting code to use it, if possible.
|
|||||||
|
|
||||||
Use them if a read action is required, but it is unacceptable to reschedule code execution on a different dispatcher.
|
Use them if a read action is required, but it is unacceptable to reschedule code execution on a different dispatcher.
|
||||||
|
|
||||||
These APIs are marked to use only in the [blocking context](execution_contexts.topic#blocking-context), so their usage in the [suspending context](execution_contexts.topic#suspending-context-coroutines) will trigger a warning.
|
These APIs are marked to use only in the [Blocking Context](execution_contexts.topic#blocking-context), so their usage in the [Suspending Context](execution_contexts.topic#suspending-context-coroutines) will trigger a warning.
|
||||||
It is intentional, as coroutines should be prepared to be rescheduled and should use `readAction()`.
|
It is intentional, as coroutines should be prepared to be rescheduled and should use `readAction()`.
|
||||||
|
|
||||||
### Suspending `writeIntentReadAction()` and Blocking `WriteIntentReadAction.run()`/`compute()`
|
### Suspending `writeIntentReadAction()` and Blocking `WriteIntentReadAction.run()`/`compute()`
|
||||||
|
@ -11,9 +11,6 @@
|
|||||||
<p>The IntelliJ Platform provides APIs that allow tracking the progress of background processes and canceling their
|
<p>The IntelliJ Platform provides APIs that allow tracking the progress of background processes and canceling their
|
||||||
execution when they are canceled by a user, or they become obsolete due to some changes in the data model.</p>
|
execution when they are canceled by a user, or they become obsolete due to some changes in the data model.</p>
|
||||||
|
|
||||||
<!--TODO: what if someone wants to support 2024.1 and 2024.2. Can they safely call blockingContext as it is no-op now?-->
|
|
||||||
<!--TODO: any caveats for progress reporting in Coroutine Execution Context?-->
|
|
||||||
|
|
||||||
<p>Available execution contexts differ depending on the IntelliJ Platform version.
|
<p>Available execution contexts differ depending on the IntelliJ Platform version.
|
||||||
For the details, select the required tab below.</p>
|
For the details, select the required tab below.</p>
|
||||||
|
|
||||||
@ -21,7 +18,7 @@
|
|||||||
<tab title="2024.2+" group-key="2024.2">
|
<tab title="2024.2+" group-key="2024.2">
|
||||||
<p>Background processes can be executed in two contexts:</p>
|
<p>Background processes can be executed in two contexts:</p>
|
||||||
<list>
|
<list>
|
||||||
<li><a anchor="coroutine-execution-context-coroutines"/> — available since 2024.2</li>
|
<li><a anchor="coroutine-execution-context"/> — available since 2024.2</li>
|
||||||
<li><a anchor="progress-indicator"/> — obsolete since 2024.1</li>
|
<li><a anchor="progress-indicator"/> — obsolete since 2024.1</li>
|
||||||
</list>
|
</list>
|
||||||
|
|
||||||
@ -31,15 +28,14 @@
|
|||||||
can be considered obsolete.</p>
|
can be considered obsolete.</p>
|
||||||
</snippet>
|
</snippet>
|
||||||
|
|
||||||
<p>Starting with 2024.2, it is recommended to execute new code in the <a anchor="coroutine-execution-context-coroutines"/>.</p>
|
<p>Starting with 2024.2, it is recommended to execute new code in the <a anchor="coroutine-execution-context"/>.</p>
|
||||||
|
|
||||||
<snippet id="sections-note">
|
<snippet id="sections-note">
|
||||||
<p>The following sections explain the contexts and provide information about process cancellation, progress
|
<p>The following sections explain the contexts and provide information about process cancellation, progress
|
||||||
tracking, and switching between contexts.</p>
|
tracking, and switching between contexts.</p>
|
||||||
</snippet>
|
</snippet>
|
||||||
|
|
||||||
|
<chapter title="Coroutine Execution Context" id="coroutine-execution-context">
|
||||||
<chapter title="Coroutine Execution Context" id="coroutine-execution-context-coroutines"><!--FIXME: id-->
|
|
||||||
<primary-label ref="2024.2"/>
|
<primary-label ref="2024.2"/>
|
||||||
|
|
||||||
<tip>
|
<tip>
|
||||||
@ -105,11 +101,11 @@
|
|||||||
<chapter title="Blocking Context" id="blocking-context">
|
<chapter title="Blocking Context" id="blocking-context">
|
||||||
<p>Executing tasks in the Blocking Context means executing them on a thread without access to the <a
|
<p>Executing tasks in the Blocking Context means executing them on a thread without access to the <a
|
||||||
anchor="suspending-context-coroutines">coroutine context</a> (basically, in non-suspending functions)
|
anchor="suspending-context-coroutines">coroutine context</a> (basically, in non-suspending functions)
|
||||||
and not under the <a anchor="progress-indicator">Progress Indicator</a>.
|
and not under the <a anchor="progress-indicator"/>.
|
||||||
Such tasks can still be canceled, but they can't report progress.</p>
|
Such tasks can still be canceled, but they can't report progress.</p>
|
||||||
<p>Plugins should not execute new code in the Blocking Context.
|
<p>Plugins should not execute new code in the Blocking Context.
|
||||||
Always prefer executing tasks in the <a anchor="suspending-context-coroutines">Suspending Context</a> or
|
Always prefer executing tasks in the <a anchor="suspending-context-coroutines">Suspending Context</a>
|
||||||
under the <a anchor="progress-indicator">Progress Indicator</a> if a plugin cannot use Kotlin.</p>
|
or under the <a anchor="progress-indicator"/> if a plugin cannot use Kotlin.</p>
|
||||||
<tip>
|
<tip>
|
||||||
<p>Functions which schedule execution via
|
<p>Functions which schedule execution via
|
||||||
<a href="%gh-ic%/platform/core-api/src/com/intellij/openapi/application/Application.java">
|
<a href="%gh-ic%/platform/core-api/src/com/intellij/openapi/application/Application.java">
|
||||||
@ -405,5 +401,3 @@
|
|||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
</topic>
|
</topic>
|
||||||
|
|
||||||
<!--TODO: search for execution_context.topic and adjust dependant content-->
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user