You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
269 lines
14 KiB
269 lines
14 KiB
<!doctype html>
|
|
<html class="default no-js">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<title>CodeActionProvider | VS Code API 中文文档</title>
|
|
<meta name="description" content="Documentation for VS Code API 中文文档">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="../assets/css/main.css">
|
|
<script async src="../assets/js/search.js" id="search-script"></script>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="tsd-page-toolbar">
|
|
<div class="container">
|
|
<div class="table-wrap">
|
|
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
|
<div class="field">
|
|
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
|
<input id="tsd-search-field" type="text" />
|
|
</div>
|
|
<ul class="results">
|
|
<li class="state loading">Preparing search index...</li>
|
|
<li class="state failure">The search index is not available</li>
|
|
</ul>
|
|
<a href="../index.html" class="title">VS Code API 中文文档</a>
|
|
</div>
|
|
<div class="table-cell" id="tsd-widgets">
|
|
<div id="tsd-filter">
|
|
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
|
<div class="tsd-filter-group">
|
|
<div class="tsd-select" id="tsd-filter-visibility">
|
|
<span class="tsd-select-label">All</span>
|
|
<ul class="tsd-select-list">
|
|
<li data-value="public">Public</li>
|
|
<li data-value="protected">Public/Protected</li>
|
|
<li data-value="private" class="selected">All</li>
|
|
</ul>
|
|
</div>
|
|
<input type="checkbox" id="tsd-filter-inherited" checked />
|
|
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
|
<input type="checkbox" id="tsd-filter-externals" checked />
|
|
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
|
|
</div>
|
|
</div>
|
|
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tsd-page-title">
|
|
<div class="container">
|
|
<ul class="tsd-breadcrumb">
|
|
<li>
|
|
<a href="../index.html">VS Code API 中文文档</a>
|
|
</li>
|
|
<li>
|
|
<a href="CodeActionProvider.html">CodeActionProvider</a>
|
|
</li>
|
|
</ul>
|
|
<h1>Interface CodeActionProvider<T></h1>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container container-main">
|
|
<div class="row">
|
|
<div class="col-8 col-content">
|
|
<section class="tsd-panel tsd-comment">
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>The code action interface defines the contract between extensions and
|
|
the <a href="https://code.visualstudio.com/docs/editor/editingevolved#_code-action">lightbulb</a> feature.</p>
|
|
</div>
|
|
<p>A code action can be any command that is <a href="../modules/commands.html#getCommands">known</a> to the system.</p>
|
|
</div>
|
|
</section>
|
|
<section class="tsd-panel tsd-type-parameters">
|
|
<h3>Type parameters</h3>
|
|
<ul class="tsd-type-parameters">
|
|
<li>
|
|
<h4>T<span class="tsd-signature-symbol">: </span><a href="../classes/CodeAction.html" class="tsd-signature-type" data-tsd-kind="Class">CodeAction</a> = <a href="../classes/CodeAction.html" class="tsd-signature-type" data-tsd-kind="Class">CodeAction</a></h4>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-hierarchy">
|
|
<h3>Hierarchy</h3>
|
|
<ul class="tsd-hierarchy">
|
|
<li>
|
|
<span class="target">CodeActionProvider</span>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-index-group">
|
|
<h2>索引</h2>
|
|
<section class="tsd-panel tsd-index-panel">
|
|
<div class="tsd-index-content">
|
|
<section class="tsd-index-section ">
|
|
<h3>Methods</h3>
|
|
<ul class="tsd-index-list">
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CodeActionProvider.html#provideCodeActions" class="tsd-kind-icon">provide<wbr>Code<wbr>Actions</a></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="CodeActionProvider.html#resolveCodeAction" class="tsd-kind-icon">resolve<wbr>Code<wbr>Action</a></li>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section class="tsd-panel-group tsd-member-group ">
|
|
<h2>Methods</h2>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="provideCodeActions" class="tsd-anchor"></a>
|
|
<h3>provide<wbr>Code<wbr>Actions</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">provide<wbr>Code<wbr>Actions<span class="tsd-signature-symbol">(</span>document<span class="tsd-signature-symbol">: </span><a href="TextDocument.html" class="tsd-signature-type" data-tsd-kind="Interface">TextDocument</a>, range<span class="tsd-signature-symbol">: </span><a href="../classes/Range.html" class="tsd-signature-type" data-tsd-kind="Class">Range</a><span class="tsd-signature-symbol"> | </span><a href="../classes/Selection.html" class="tsd-signature-type" data-tsd-kind="Class">Selection</a>, context<span class="tsd-signature-symbol">: </span><a href="CodeActionContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeActionContext</a>, token<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../index.html#ProviderResult" class="tsd-signature-type" data-tsd-kind="Type alias">ProviderResult</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">(</span><a href="Command.html" class="tsd-signature-type" data-tsd-kind="Interface">Command</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/95d2243/vscode.d.ts#L2334">vscode.d.ts:2334</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Provide commands for the given document and range.</p>
|
|
</div>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>document: <a href="TextDocument.html" class="tsd-signature-type" data-tsd-kind="Interface">TextDocument</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>The document in which the command was invoked.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>range: <a href="../classes/Range.html" class="tsd-signature-type" data-tsd-kind="Class">Range</a><span class="tsd-signature-symbol"> | </span><a href="../classes/Selection.html" class="tsd-signature-type" data-tsd-kind="Class">Selection</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>The selector or range for which the command was invoked. This will always be a selection if
|
|
there is a currently active editor.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>context: <a href="CodeActionContext.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeActionContext</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>Context carrying additional information.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>token: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A cancellation token.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="../index.html#ProviderResult" class="tsd-signature-type" data-tsd-kind="Type alias">ProviderResult</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">(</span><a href="Command.html" class="tsd-signature-type" data-tsd-kind="Interface">Command</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>An array of code actions, such as quick fixes or refactorings. The lack of a result can be signaled
|
|
by returning <code>undefined</code>, <code>null</code>, or an empty array.</p>
|
|
<p>We also support returning <code>Command</code> for legacy reasons, however all new extensions should return
|
|
<code>CodeAction</code> object instead.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
|
<a name="resolveCodeAction" class="tsd-anchor"></a>
|
|
<h3><span class="tsd-flag ts-flagOptional">Optional</span> resolve<wbr>Code<wbr>Action</h3>
|
|
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
|
<li class="tsd-signature tsd-kind-icon">resolve<wbr>Code<wbr>Action<span class="tsd-signature-symbol">(</span>codeAction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, token<span class="tsd-signature-symbol">: </span><a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../index.html#ProviderResult" class="tsd-signature-type" data-tsd-kind="Type alias">ProviderResult</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></li>
|
|
</ul>
|
|
<ul class="tsd-descriptions">
|
|
<li class="tsd-description">
|
|
<aside class="tsd-sources">
|
|
<ul>
|
|
<li>Defined in <a href="https://github.com/youngjuning/vscode-api-cn/blob/95d2243/vscode.d.ts#L2350">vscode.d.ts:2350</a></li>
|
|
</ul>
|
|
</aside>
|
|
<div class="tsd-comment tsd-typography">
|
|
<div class="lead">
|
|
<p>Given a code action fill in its <a href="../classes/CodeAction.html#edit"><code>edit</code></a>-property. Changes to
|
|
all other properties, like title, are ignored. A code action that has an edit
|
|
will not be resolved.</p>
|
|
</div>
|
|
<p><em>Note</em> that a code action provider that returns commands, not code actions, cannot successfully
|
|
implement this function. Returning commands is deprecated and instead code actions should be
|
|
returned.</p>
|
|
</div>
|
|
<h4 class="tsd-parameters-title">Parameters</h4>
|
|
<ul class="tsd-parameters">
|
|
<li>
|
|
<h5>codeAction: <span class="tsd-signature-type">T</span></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A code action.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<h5>token: <a href="CancellationToken.html" class="tsd-signature-type" data-tsd-kind="Interface">CancellationToken</a></h5>
|
|
<div class="tsd-comment tsd-typography">
|
|
<p>A cancellation token.</p>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<h4 class="tsd-returns-title">Returns <a href="../index.html#ProviderResult" class="tsd-signature-type" data-tsd-kind="Type alias">ProviderResult</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></h4>
|
|
<p>The resolved code action or a thenable that resolves to such. It is OK to return the given
|
|
<code>item</code>. When no result is returned, the given <code>item</code> will be used.</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</section>
|
|
</div>
|
|
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
|
<nav class="tsd-navigation primary">
|
|
<ul>
|
|
<li class=" ">
|
|
<a href="../index.html">Exports</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
<nav class="tsd-navigation secondary menu-sticky">
|
|
<ul class="before-current">
|
|
</ul>
|
|
<ul class="current">
|
|
<li class="current tsd-kind-interface tsd-has-type-parameter">
|
|
<a href="CodeActionProvider.html" class="tsd-kind-icon">Code<wbr>Action<wbr>Provider</a>
|
|
<ul>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CodeActionProvider.html#provideCodeActions" class="tsd-kind-icon">provide<wbr>Code<wbr>Actions</a>
|
|
</li>
|
|
<li class=" tsd-kind-method tsd-parent-kind-interface">
|
|
<a href="CodeActionProvider.html#resolveCodeAction" class="tsd-kind-icon">resolve<wbr>Code<wbr>Action</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<ul class="after-current">
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<footer class="with-border-bottom">
|
|
<div class="container">
|
|
<h2>图例</h2>
|
|
<div class="tsd-legend-group">
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
|
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
|
|
</ul>
|
|
<ul class="tsd-legend">
|
|
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
|
|
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<div class="container tsd-generator">
|
|
<p>Generated by <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
|
|
</div>
|
|
<div class="overlay"></div>
|
|
<script src="../assets/js/main.js"></script>
|
|
</body>
|
|
</html> |