Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
891e6843
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,发现更多精彩内容 >>
提交
891e6843
编写于
8月 21, 2017
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
first cut of option-less open, #13807
上级
d51605be
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
79 addition
and
0 deletion
+79
-0
src/vs/vscode.proposed.d.ts
src/vs/vscode.proposed.d.ts
+5
-0
src/vs/workbench/api/electron-browser/extensionHost.contribution.ts
...kbench/api/electron-browser/extensionHost.contribution.ts
+1
-0
src/vs/workbench/api/electron-browser/mainThreadDialogs.ts
src/vs/workbench/api/electron-browser/mainThreadDialogs.ts
+37
-0
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+5
-0
src/vs/workbench/api/node/extHost.protocol.ts
src/vs/workbench/api/node/extHost.protocol.ts
+5
-0
src/vs/workbench/api/node/extHostDialogs.ts
src/vs/workbench/api/node/extHostDialogs.ts
+26
-0
未找到文件。
src/vs/vscode.proposed.d.ts
浏览文件 @
891e6843
...
...
@@ -7,6 +7,11 @@
declare
module
'
vscode
'
{
export
namespace
window
{
export
function
showOpenDialog
():
Thenable
<
Uri
[]
>
;
}
// todo@joh discover files etc
export
interface
FileSystemProvider
{
// todo@joh -> added, deleted, renamed, changed
...
...
src/vs/workbench/api/electron-browser/extensionHost.contribution.ts
浏览文件 @
891e6843
...
...
@@ -20,6 +20,7 @@ import './mainThreadConfiguration';
import
'
./mainThreadCredentials
'
;
import
'
./mainThreadDebugService
'
;
import
'
./mainThreadDiagnostics
'
;
import
'
./mainThreadDialogs
'
;
import
'
./mainThreadDocumentContentProviders
'
;
import
'
./mainThreadDocuments
'
;
import
'
./mainThreadDocumentsAndEditors
'
;
...
...
src/vs/workbench/api/electron-browser/mainThreadDialogs.ts
0 → 100644
浏览文件 @
891e6843
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
isFalsyOrEmpty
}
from
'
vs/base/common/arrays
'
;
import
{
MainThreadDiaglogsShape
,
MainContext
,
IExtHostContext
}
from
'
../node/extHost.protocol
'
;
import
{
extHostNamedCustomer
}
from
"
vs/workbench/api/electron-browser/extHostCustomers
"
;
import
{
IWindowService
}
from
"
vs/platform/windows/common/windows
"
;
@
extHostNamedCustomer
(
MainContext
.
MainThreadDialogs
)
export
class
MainThreadDialogs
implements
MainThreadDiaglogsShape
{
constructor
(
context
:
IExtHostContext
,
@
IWindowService
private
readonly
_windowService
:
IWindowService
)
{
//
}
dispose
():
void
{
//
}
$showOpenDialog
():
TPromise
<
string
[]
>
{
return
new
TPromise
<
string
[]
>
(
resolve
=>
{
this
.
_windowService
.
showOpenDialog
({
},
filenames
=>
{
// TODO@joh what about remote dev setup?
resolve
(
isFalsyOrEmpty
(
filenames
)
?
undefined
:
filenames
);
});
});
}
}
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
891e6843
...
...
@@ -52,6 +52,7 @@ import * as languageConfiguration from 'vs/editor/common/modes/languageConfigura
import
{
TextEditorCursorStyle
}
from
'
vs/editor/common/config/editorOptions
'
;
import
{
ExtHostThreadService
}
from
"
vs/workbench/services/thread/node/extHostThreadService
"
;
import
{
ProxyIdentifier
}
from
"
vs/workbench/services/thread/common/threadService
"
;
import
{
ExtHostDialogs
}
from
"
vs/workbench/api/node/extHostDialogs
"
;
export
interface
IExtensionApiFactory
{
(
extension
:
IExtensionDescription
):
typeof
vscode
;
...
...
@@ -105,6 +106,7 @@ export function createApiFactory(
// Other instances
const
extHostMessageService
=
new
ExtHostMessageService
(
threadService
);
const
extHostDialogs
=
new
ExtHostDialogs
(
threadService
);
const
extHostStatusBar
=
new
ExtHostStatusBar
(
threadService
);
const
extHostProgress
=
new
ExtHostProgress
(
threadService
.
get
(
MainContext
.
MainThreadProgress
));
const
extHostOutputService
=
new
ExtHostOutputService
(
threadService
);
...
...
@@ -368,6 +370,9 @@ export function createApiFactory(
sampleFunction
:
proposedApiFunction
(
extension
,
()
=>
{
return
extHostMessageService
.
showMessage
(
extension
.
id
,
Severity
.
Info
,
'
Hello Proposed Api!
'
,
{},
[]);
}),
showOpenDialog
:
proposedApiFunction
(
extension
,
()
=>
{
return
extHostDialogs
.
showOpenDialog
();
})
};
// namespace: workspace
...
...
src/vs/workbench/api/node/extHost.protocol.ts
浏览文件 @
891e6843
...
...
@@ -113,6 +113,10 @@ export interface MainThreadDiagnosticsShape extends IDisposable {
$clear
(
owner
:
string
):
TPromise
<
any
>
;
}
export
interface
MainThreadDiaglogsShape
extends
IDisposable
{
$showOpenDialog
():
TPromise
<
string
[]
>
;
}
export
interface
MainThreadDocumentContentProvidersShape
extends
IDisposable
{
$registerTextContentProvider
(
handle
:
number
,
scheme
:
string
):
void
;
$unregisterTextContentProvider
(
handle
:
number
):
void
;
...
...
@@ -532,6 +536,7 @@ export const MainContext = {
MainThreadConfiguration
:
createMainId
<
MainThreadConfigurationShape
>
(
'
MainThreadConfiguration
'
),
MainThreadDebugService
:
createMainId
<
MainThreadDebugServiceShape
>
(
'
MainThreadDebugService
'
),
MainThreadDiagnostics
:
createMainId
<
MainThreadDiagnosticsShape
>
(
'
MainThreadDiagnostics
'
),
MainThreadDialogs
:
createMainId
<
MainThreadDiaglogsShape
>
(
'
MainThreadDiaglogs
'
),
MainThreadDocuments
:
createMainId
<
MainThreadDocumentsShape
>
(
'
MainThreadDocuments
'
),
MainThreadDocumentContentProviders
:
createMainId
<
MainThreadDocumentContentProvidersShape
>
(
'
MainThreadDocumentContentProviders
'
),
MainThreadEditors
:
createMainId
<
MainThreadEditorsShape
>
(
'
MainThreadEditors
'
),
...
...
src/vs/workbench/api/node/extHostDialogs.ts
0 → 100644
浏览文件 @
891e6843
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
MainContext
,
MainThreadDiaglogsShape
,
IMainContext
}
from
'
vs/workbench/api/node/extHost.protocol
'
;
import
URI
from
"
vs/base/common/uri
"
;
export
class
ExtHostDialogs
{
private
readonly
_proxy
:
MainThreadDiaglogsShape
;
constructor
(
mainContext
:
IMainContext
)
{
this
.
_proxy
=
mainContext
.
get
(
MainContext
.
MainThreadDialogs
);
}
showOpenDialog
():
Thenable
<
URI
[]
>
{
return
this
.
_proxy
.
$showOpenDialog
().
then
(
filepaths
=>
{
if
(
!
filepaths
)
{
return
undefined
;
}
return
filepaths
.
map
(
URI
.
file
);
});
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录