Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
274d4a94
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
274d4a94
编写于
10月 22, 2020
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add telemetry for terminal reconnection
上级
89540b65
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
21 deletion
+33
-21
src/vs/workbench/contrib/terminal/browser/terminalService.ts
src/vs/workbench/contrib/terminal/browser/terminalService.ts
+33
-21
未找到文件。
src/vs/workbench/contrib/terminal/browser/terminalService.ts
浏览文件 @
274d4a94
...
...
@@ -3,32 +3,33 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
timeout
}
from
'
vs/base/common/async
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
basename
}
from
'
vs/base/common/path
'
;
import
{
isMacintosh
,
isWeb
,
isWindows
,
OperatingSystem
}
from
'
vs/base/common/platform
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
FindReplaceState
}
from
'
vs/editor/contrib/find/findState
'
;
import
*
as
nls
from
'
vs/nls
'
;
import
{
TERMINAL_VIEW_ID
,
IShellLaunchConfig
,
ITerminalConfigHelper
,
ISpawnExtHostProcessRequest
,
IStartExtensionTerminalRequest
,
IAvailableShellsRequest
,
KEYBINDING_CONTEXT_TERMINAL_FOCUS
,
KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE
,
KEYBINDING_CONTEXT_TERMINAL_IS_OPEN
,
KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED
,
ITerminalProcessExtHostProxy
,
IShellDefinition
,
LinuxDistro
,
KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE
,
ITerminalLaunchError
,
ITerminalNativeWindowsDelegate
}
from
'
vs/workbench/contrib/terminal/common/terminal
'
;
import
{
IContextKeyService
,
IContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IWorkbenchLayoutService
}
from
'
vs/workbench/services/layout/browser/layoutService
'
;
import
{
ILifecycleService
}
from
'
vs/workbench/services/lifecycle/common/lifecycle
'
;
import
{
TerminalViewPane
}
from
'
vs/workbench/contrib/terminal/browser/terminalView
'
;
import
{
ConfigurationTarget
,
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IDialogService
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
TerminalTab
}
from
'
vs/workbench/contrib/terminal/browser/terminalTab
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
I
ExtensionService
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
import
{
TerminalInstance
}
from
'
vs/workbench/contrib/terminal/browser/terminalInstance
'
;
import
{
I
TerminalService
,
ITerminalInstance
,
ITerminalTab
,
TerminalShellType
,
WindowsShellType
,
ITerminalExternalLinkProvider
,
IRemoteTerminalService
}
from
'
vs/workbench/contrib/terminal/browser/terminal
'
;
import
{
IRemote
AgentService
}
from
'
vs/workbench/services/remote/common/remoteAgentService
'
;
import
{
I
PickOptions
,
IQuickInputService
,
IQuickPickItem
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
I
ViewDescriptorService
,
IViewsService
,
ViewContainerLocation
}
from
'
vs/workbench/common/views
'
;
import
{
IRemote
TerminalService
,
ITerminalExternalLinkProvider
,
ITerminalInstance
,
ITerminalService
,
ITerminalTab
,
TerminalShellType
,
WindowsShellType
}
from
'
vs/workbench/contrib/terminal/browser/terminal
'
;
import
{
TerminalConfigHelper
}
from
'
vs/workbench/contrib/terminal/browser/terminalConfigHelper
'
;
import
{
IQuickInputService
,
IQuickPickItem
,
IPickOptions
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
IConfigurationService
,
ConfigurationTarget
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
Event
,
Emitter
}
from
'
vs/base/common/event
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
FindReplaceState
}
from
'
vs/editor/contrib/find/findState
'
;
import
{
TerminalInstance
}
from
'
vs/workbench/contrib/terminal/browser/terminalInstance
'
;
import
{
TerminalTab
}
from
'
vs/workbench/contrib/terminal/browser/terminalTab
'
;
import
{
TerminalViewPane
}
from
'
vs/workbench/contrib/terminal/browser/terminalView
'
;
import
{
IAvailableShellsRequest
,
IShellDefinition
,
IShellLaunchConfig
,
ISpawnExtHostProcessRequest
,
IStartExtensionTerminalRequest
,
ITerminalConfigHelper
,
ITerminalLaunchError
,
ITerminalNativeWindowsDelegate
,
ITerminalProcessExtHostProxy
,
KEYBINDING_CONTEXT_TERMINAL_FIND_VISIBLE
,
KEYBINDING_CONTEXT_TERMINAL_FOCUS
,
KEYBINDING_CONTEXT_TERMINAL_IS_OPEN
,
KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED
,
KEYBINDING_CONTEXT_TERMINAL_SHELL_TYPE
,
LinuxDistro
,
TERMINAL_VIEW_ID
}
from
'
vs/workbench/contrib/terminal/common/terminal
'
;
import
{
escapeNonWindowsPath
}
from
'
vs/workbench/contrib/terminal/common/terminalEnvironment
'
;
import
{
isWindows
,
isMacintosh
,
OperatingSystem
,
isWeb
}
from
'
vs/base/common/platform
'
;
import
{
basename
}
from
'
vs/base/common/path
'
;
import
{
timeout
}
from
'
vs/base/common/async
'
;
import
{
IViewsService
,
ViewContainerLocation
,
IViewDescriptorService
}
from
'
vs/workbench/common/views
'
;
import
{
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
IExtensionService
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
import
{
IWorkbenchLayoutService
}
from
'
vs/workbench/services/layout/browser/layoutService
'
;
import
{
ILifecycleService
}
from
'
vs/workbench/services/lifecycle/common/lifecycle
'
;
import
{
IRemoteAgentService
}
from
'
vs/workbench/services/remote/common/remoteAgentService
'
;
interface
IExtHostReadyEntry
{
promise
:
Promise
<
void
>
;
...
...
@@ -110,7 +111,8 @@ export class TerminalService implements ITerminalService {
@
IViewDescriptorService
private
readonly
_viewDescriptorService
:
IViewDescriptorService
,
@
IConfigurationService
private
readonly
_workspaceConfigurationService
:
IConfigurationService
,
@
IWorkbenchEnvironmentService
private
readonly
_environmentService
:
IWorkbenchEnvironmentService
,
@
IRemoteTerminalService
private
readonly
_remoteTerminalService
:
IRemoteTerminalService
@
IRemoteTerminalService
private
readonly
_remoteTerminalService
:
IRemoteTerminalService
,
@
ITelemetryService
private
readonly
_telemetryService
:
ITelemetryService
)
{
this
.
_activeTabIndex
=
0
;
this
.
_isShuttingDown
=
false
;
...
...
@@ -348,6 +350,16 @@ export class TerminalService implements ITerminalService {
this
.
_terminalTabs
.
push
(
emptyTab
);
this
.
_onInstanceTitleChanged
.
fire
(
undefined
);
const
remoteTerms
=
await
this
.
_remoteTerminalService
.
listTerminals
();
/* __GDPR__
"terminalReconnect" : {
"count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true }
}
*/
const
data
=
{
count
:
remoteTerms
.
length
};
this
.
_telemetryService
.
publicLog
(
'
terminalReconnection
'
,
data
);
if
(
remoteTerms
.
length
>
0
)
{
// Reattach to all remote terms
this
.
createTerminal
({
remoteAttach
:
remoteTerms
[
0
]
},
emptyTab
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录