Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
1848b163
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1848b163
编写于
8月 22, 2019
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tweak UI for deprecated completions, update API proposal #23927
上级
ee2b890b
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
63 addition
and
17 deletion
+63
-17
src/vs/base/common/map.ts
src/vs/base/common/map.ts
+9
-0
src/vs/editor/contrib/suggest/media/suggest.css
src/vs/editor/contrib/suggest/media/suggest.css
+11
-8
src/vs/editor/contrib/suggest/suggestController.ts
src/vs/editor/contrib/suggest/suggestController.ts
+3
-2
src/vs/editor/contrib/suggest/suggestWidget.ts
src/vs/editor/contrib/suggest/suggestWidget.ts
+2
-1
src/vs/vscode.proposed.d.ts
src/vs/vscode.proposed.d.ts
+8
-3
src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts
src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts
+2
-1
src/vs/workbench/api/common/extHost.api.impl.ts
src/vs/workbench/api/common/extHost.api.impl.ts
+1
-0
src/vs/workbench/api/common/extHost.protocol.ts
src/vs/workbench/api/common/extHost.protocol.ts
+1
-1
src/vs/workbench/api/common/extHostLanguageFeatures.ts
src/vs/workbench/api/common/extHostLanguageFeatures.ts
+6
-1
src/vs/workbench/api/common/extHostTypeConverters.ts
src/vs/workbench/api/common/extHostTypeConverters.ts
+15
-0
src/vs/workbench/api/common/extHostTypes.ts
src/vs/workbench/api/common/extHostTypes.ts
+5
-0
未找到文件。
src/vs/base/common/map.ts
浏览文件 @
1848b163
...
...
@@ -7,6 +7,15 @@ import { URI } from 'vs/base/common/uri';
import
{
CharCode
}
from
'
vs/base/common/charCode
'
;
import
{
Iterator
,
IteratorResult
,
FIN
}
from
'
./iterator
'
;
export
function
fromArray
<
T
>
(
array
:
readonly
T
[]):
Set
<
T
>
{
const
result
=
new
Set
<
T
>
();
for
(
const
element
of
array
)
{
result
.
add
(
element
);
}
return
result
;
}
export
function
values
<
V
=
any
>
(
set
:
Set
<
V
>
):
V
[];
export
function
values
<
K
=
any
,
V
=
any
>
(
map
:
Map
<
K
,
V
>
):
V
[];
export
function
values
<
V
>
(
forEachable
:
{
forEach
(
callback
:
(
value
:
V
,
...
more
:
any
[])
=>
any
):
void
}):
V
[]
{
...
...
src/vs/editor/contrib/suggest/media/suggest.css
浏览文件 @
1848b163
...
...
@@ -97,10 +97,6 @@
font-weight
:
bold
;
}
.monaco-editor
.suggest-widget-deprecated
span
{
text-decoration
:
line-through
;
}
/** Icon styles **/
.monaco-editor
.suggest-widget
.details
>
.monaco-scrollable-element
>
.body
>
.header
>
.close
,
...
...
@@ -115,8 +111,8 @@
.monaco-editor
.suggest-widget
.details
>
.monaco-scrollable-element
>
.body
>
.header
>
.close
{
background-image
:
url('./close-light.svg')
;
position
:
absolute
;
top
:
0
px
;
right
:
0
px
;
top
:
0
;
right
:
0
;
margin-right
:
5px
;
}
...
...
@@ -159,9 +155,16 @@
}
/** Styles for each row in the list **/
.monaco-editor
.suggest-widget
.monaco-list
.monaco-list-row
.monaco-icon-label.deprecated
{
opacity
:
0.66
;
}
.monaco-editor
.suggest-widget
.monaco-list
.monaco-list-row
.monaco-icon-label.deprecated
>
.monaco-icon-label-description-container
{
text-decoration
:
line-through
;
}
.monaco-editor
.suggest-widget
.monaco-list
.monaco-list-row
.monaco-icon-label
::before
{
height
:
100%
;
}
.monaco-editor
.suggest-widget
.monaco-list
.monaco-list-row
.icon
{
...
...
@@ -257,7 +260,7 @@
text-overflow
:
ellipsis
;
opacity
:
0.7
;
word-break
:
break-all
;
margin
:
0
px
24px
0
0
;
margin
:
0
24px
0
0
;
padding
:
4px
0
12px
5px
;
}
...
...
src/vs/editor/contrib/suggest/suggestController.ts
浏览文件 @
1848b163
...
...
@@ -34,6 +34,8 @@ import { IdleValue } from 'vs/base/common/async';
import
{
isObject
}
from
'
vs/base/common/types
'
;
import
{
CommitCharacterController
}
from
'
./suggestCommitCharacters
'
;
const
_sticky
=
false
;
// for development purposes only
export
class
SuggestController
implements
IEditorContribution
{
private
static
readonly
ID
:
string
=
'
editor.contrib.suggestController
'
;
...
...
@@ -47,7 +49,6 @@ export class SuggestController implements IEditorContribution {
private
readonly
_alternatives
:
IdleValue
<
SuggestAlternatives
>
;
private
readonly
_toDispose
=
new
DisposableStore
();
private
readonly
_sticky
=
false
;
// for development purposes only
constructor
(
private
_editor
:
ICodeEditor
,
...
...
@@ -127,7 +128,7 @@ export class SuggestController implements IEditorContribution {
}
}));
this
.
_toDispose
.
add
(
this
.
_editor
.
onDidBlurEditorWidget
(()
=>
{
if
(
!
this
.
_sticky
)
{
if
(
!
_sticky
)
{
this
.
_model
.
cancel
();
this
.
_model
.
clear
();
}
...
...
src/vs/editor/contrib/suggest/suggestWidget.ts
浏览文件 @
1848b163
...
...
@@ -194,7 +194,8 @@ class Renderer implements IListRenderer<CompletionItem, ISuggestionTemplateData>
}
if
(
suggestion
.
kindModifier
&&
suggestion
.
kindModifier
.
has
(
CompletionItemKindModifier
.
Deprecated
))
{
labelOptions
.
extraClasses
=
(
labelOptions
.
extraClasses
||
[]).
concat
([
'
suggest-widget-deprecated
'
]);
labelOptions
.
extraClasses
=
(
labelOptions
.
extraClasses
||
[]).
concat
([
'
deprecated
'
]);
labelOptions
.
matches
=
[];
}
data
.
iconLabel
.
setLabel
(
suggestion
.
label
,
undefined
,
labelOptions
);
...
...
src/vs/vscode.proposed.d.ts
浏览文件 @
1848b163
...
...
@@ -1142,13 +1142,18 @@ declare module 'vscode' {
//#endregion
//#region Deprecated support
//#region Joh - CompletionItemKindModifier, https://github.com/microsoft/vscode/issues/23927
export
enum
CompletionItemKindModifier
{
Deprecated
=
1
}
export
interface
CompletionItem
{
/**
*
Indicates if this item is deprecated.
*
*/
deprecated
?:
boolean
;
kind2
?:
CompletionItemKind
|
{
base
:
CompletionItemKind
,
modifier
:
ReadonlyArray
<
CompletionItemKindModifier
>
}
;
}
//#endregion
...
...
src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts
浏览文件 @
1848b163
...
...
@@ -21,6 +21,7 @@ import { Selection } from 'vs/editor/common/core/selection';
import
{
ExtensionIdentifier
}
from
'
vs/platform/extensions/common/extensions
'
;
import
*
as
callh
from
'
vs/workbench/contrib/callHierarchy/common/callHierarchy
'
;
import
{
mixin
}
from
'
vs/base/common/objects
'
;
import
{
fromArray
}
from
'
vs/base/common/map
'
;
@
extHostNamedCustomer
(
MainContext
.
MainThreadLanguageFeatures
)
export
class
MainThreadLanguageFeatures
implements
MainThreadLanguageFeaturesShape
{
...
...
@@ -330,7 +331,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha
return
{
label
:
data
.
a
,
kind
:
data
.
b
,
kindModifier
:
data
.
n
?
new
Set
<
modes
.
CompletionItemKindModifier
>
().
add
(
modes
.
CompletionItemKindModifier
.
Deprecated
)
:
undefined
,
kindModifier
:
data
.
n
&&
fromArray
(
data
.
n
)
,
detail
:
data
.
c
,
documentation
:
data
.
d
,
sortText
:
data
.
e
,
...
...
src/vs/workbench/api/common/extHost.api.impl.ts
浏览文件 @
1848b163
...
...
@@ -803,6 +803,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
CommentMode
:
extHostTypes
.
CommentMode
,
CompletionItem
:
extHostTypes
.
CompletionItem
,
CompletionItemKind
:
extHostTypes
.
CompletionItemKind
,
CompletionItemKindModifier
:
extHostTypes
.
CompletionItemKindModifier
,
CompletionList
:
extHostTypes
.
CompletionList
,
CompletionTriggerKind
:
extHostTypes
.
CompletionTriggerKind
,
ConfigurationTarget
:
extHostTypes
.
ConfigurationTarget
,
...
...
src/vs/workbench/api/common/extHost.protocol.ts
浏览文件 @
1848b163
...
...
@@ -934,7 +934,7 @@ export interface ISuggestDataDto {
k
/* commitCharacters */
?:
string
[];
l
/* additionalTextEdits */
?:
ISingleEditOperation
[];
m
/* command */
?:
modes
.
Command
;
n
/*
deprecated */
?:
boolean
;
n
/*
kindModifier */
?:
modes
.
CompletionItemKindModifier
[]
;
// not-standard
x
?:
ChainedCacheId
;
}
...
...
src/vs/workbench/api/common/extHostLanguageFeatures.ts
浏览文件 @
1848b163
...
...
@@ -736,9 +736,14 @@ class SuggestAdapter {
k
:
item
.
commitCharacters
,
l
:
item
.
additionalTextEdits
&&
item
.
additionalTextEdits
.
map
(
typeConvert
.
TextEdit
.
from
),
m
:
this
.
_commands
.
toInternal
(
item
.
command
,
disposables
),
n
:
item
.
deprecated
};
// kind2
if
(
typeof
item
.
kind2
===
'
object
'
)
{
result
.
b
=
typeConvert
.
CompletionItemKind
.
from
(
item
.
kind2
.
base
);
result
.
n
=
item
.
kind2
.
modifier
.
map
(
typeConvert
.
CompletionItemKindModifier
.
from
);
}
// 'insertText'-logic
if
(
item
.
textEdit
)
{
result
.
h
=
item
.
textEdit
.
newText
;
...
...
src/vs/workbench/api/common/extHostTypeConverters.ts
浏览文件 @
1848b163
...
...
@@ -681,6 +681,21 @@ export namespace CompletionContext {
}
}
export
namespace
CompletionItemKindModifier
{
export
function
from
(
kind
:
types
.
CompletionItemKindModifier
):
modes
.
CompletionItemKindModifier
{
switch
(
kind
)
{
case
types
.
CompletionItemKindModifier
.
Deprecated
:
return
modes
.
CompletionItemKindModifier
.
Deprecated
;
}
}
export
function
to
(
kind
:
modes
.
CompletionItemKindModifier
):
types
.
CompletionItemKindModifier
{
switch
(
kind
)
{
case
modes
.
CompletionItemKindModifier
.
Deprecated
:
return
types
.
CompletionItemKindModifier
.
Deprecated
;
}
}
}
export
namespace
CompletionItemKind
{
export
function
from
(
kind
:
types
.
CompletionItemKind
|
undefined
):
modes
.
CompletionItemKind
{
...
...
src/vs/workbench/api/common/extHostTypes.ts
浏览文件 @
1848b163
...
...
@@ -1308,11 +1308,16 @@ export enum CompletionItemKind {
TypeParameter
=
24
}
export
enum
CompletionItemKindModifier
{
Deprecated
=
1
,
}
@
es5ClassCompat
export
class
CompletionItem
implements
vscode
.
CompletionItem
{
label
:
string
;
kind
?:
CompletionItemKind
;
kind2
?:
CompletionItemKind
|
{
base
:
CompletionItemKind
,
modifier
:
CompletionItemKindModifier
[]
};
detail
?:
string
;
documentation
?:
string
|
MarkdownString
;
sortText
?:
string
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录