提交 a04f317d 编写于 作者: B Benjamin Pasero

Merge remote-tracking branch 'upstream/master' into treeExplorerAPI

......@@ -3,6 +3,7 @@
[![Build Status](https://travis-ci.org/Microsoft/vscode.svg?branch=master)](https://travis-ci.org/Microsoft/vscode)
[![Build status](https://ci.appveyor.com/api/projects/status/vuhlhg80tj3e2a0l?svg=true)](https://ci.appveyor.com/project/VSCode/vscode)
[![Coverage Status](https://img.shields.io/coveralls/Microsoft/vscode/master.svg)](https://coveralls.io/github/Microsoft/vscode?branch=master)
[![Gitter](https://img.shields.io/badge/chat-on%20gitter-blue.svg)](https://gitter.im/Microsoft/vscode)
[VS Code](https://code.visualstudio.com) is a new type of tool that combines the simplicity of
a code editor with what developers need for their core edit-build-debug cycle. Code
......
......@@ -40,7 +40,7 @@ const nodeModules = ['electron', 'original-fs']
const builtInExtensions = [
{ name: 'ms-vscode.node-debug', version: '1.7.8' },
{ name: 'ms-vscode.node-debug2', version: '1.7.2' }
{ name: 'ms-vscode.node-debug2', version: '1.8.0' }
];
const vscodeEntryPoints = _.flatten([
......
......@@ -69,9 +69,7 @@ export interface ICommandHandler {
declare module monaco.languages {
#includeAll(vs/editor/browser/standalone/standaloneLanguages;modes.=>;editorCommon.=>editor.;IMarkerData=>editor.IMarkerData):
#include(vs/editor/common/modes/languageConfigurationRegistry): CommentRule, LanguageConfiguration
#include(vs/editor/common/modes/supports/onEnter): IndentationRule, OnEnterRule
#include(vs/editor/common/modes/supports/electricCharacter): IBracketElectricCharacterContribution, IDocComment
#includeAll(vs/editor/common/modes/languageConfiguration):
#includeAll(vs/editor/common/modes;editorCommon.IRange=>IRange;editorCommon.IPosition=>IPosition;editorCommon.=>editor.;IToken2=>IToken;ILineTokens2=>ILineTokens;IState2=>IState):
#include(vs/editor/common/services/modeService): ILanguageExtensionPoint
#includeAll(vs/editor/common/modes/monarch/monarchTypes):
......
......@@ -127,7 +127,7 @@ SelectDirBrowseLabel=
DiskSpaceMBLabel=적어도 [mb]MB의 여유 디스크 공간이 필요합니다.
CannotInstallToNetworkDrive=설치 프로그램은 네트워크 드라이브에 설치할 수 없습니다.
CannotInstallToUNCPath=설치 프로그램은 UNC 경로에 설치할 수 없습니다.
InvalidPath=드라이브 문자와 함께 전체 경로를 입력해야 합니다. 예:%n%nC:APP%n%n또는 다음 형태의 UNC 경로:%n%nservershare
InvalidPath=드라이브 문자와 함께 전체 경로를 입력해야 합니다. 예:%n%nC:\APP%n%n또는 다음 형태의 UNC 경로:%n%n\server\share
InvalidDrive=선택한 드라이브나 UNC 공유가 없거나 이 두 항목에 액세스할 수 없습니다. 다른 드라이브나 UNC 공유를 선택하세요.
DiskSpaceWarningTitle=디스크 공간 부족
DiskSpaceWarning=설치 프로그램을 설치하려면 여유 설치 공간이 적어도 %1KB가 필요하지만 선택한 드라이브의 가용 공간은 %2KB밖에 없습니다.%n%n그래도 계속하시겠습니까?
......@@ -231,9 +231,9 @@ ErrorFunctionFailed=%1
ErrorFunctionFailedWithMessage=%1 실패, 코드 %2.%n%3
ErrorExecutingProgram=파일을 실행할 수 없음:%n%1
; *** Registry errors
ErrorRegOpenKey=레지스트리 키를 여는 중 오류 발생:%n%1%2
ErrorRegCreateKey=레지스트리 키를 만드는 중 오류 발생:%n%1%2
ErrorRegWriteKey=레지스트리 키에 기록하는 중 오류 발생:%n%1%2
ErrorRegOpenKey=레지스트리 키를 여는 중 오류 발생:%n%1\%2
ErrorRegCreateKey=레지스트리 키를 만드는 중 오류 발생:%n%1\%2
ErrorRegWriteKey=레지스트리 키에 기록하는 중 오류 발생:%n%1\%2
; *** INI errors
ErrorIniEntry=파일 "%1"에 INI 항목을 만드는 중에 오류가 발생했습니다.
; *** File copying errors
......
......@@ -127,7 +127,7 @@ SelectDirBrowseLabel=
DiskSpaceMBLabel=需要至少 [mb] MB 可用磁盘空间。
CannotInstallToNetworkDrive=安装程序无法安装到网络驱动器。
CannotInstallToUNCPath=安装程序无法安装到 UNC 路径。
InvalidPath=必须输入带驱动器号的完整路径(例如:%n%nC:APP%n%n)或以下格式的 UNC 路径:%n%nservershare
InvalidPath=必须输入带驱动器号的完整路径(例如:%n%nC:\APP%n%n)或以下格式的 UNC 路径:%n%n\server\share
InvalidDrive=所选驱动器或 UNC 共享不存在或不可访问。请另外选择。
DiskSpaceWarningTitle=磁盘空间不足
DiskSpaceWarning=安装程序需要至少 %1 KB 可用空间来安装,但所选驱动器仅有 %2 KB 可用空间。%n%n是否仍要继续?
......@@ -231,9 +231,9 @@ ErrorFunctionFailed=%1 失
ErrorFunctionFailedWithMessage=%1 失败;代码 %2。%n%3
ErrorExecutingProgram=无法执行文件:%n%1
; *** Registry errors
ErrorRegOpenKey=打开注册表项时出错:%n%1%2
ErrorRegCreateKey=创建注册表项时出错:%n%1%2
ErrorRegWriteKey=写入注册表项时出错:%n%1%2
ErrorRegOpenKey=打开注册表项时出错:%n%1\%2
ErrorRegCreateKey=创建注册表项时出错:%n%1\%2
ErrorRegWriteKey=写入注册表项时出错:%n%1\%2
; *** INI errors
ErrorIniEntry=在文件“%1”中创建 INI 项时出错。
; *** File copying errors
......
......@@ -127,7 +127,7 @@ SelectDirBrowseLabel=
DiskSpaceMBLabel=至少須有 [mb] MB 的可用磁碟空間。
CannotInstallToNetworkDrive=安裝程式無法安裝到網路磁碟機。
CannotInstallToUNCPath=安裝程式無法安裝到 UNC 路徑。
InvalidPath=必須輸入包含磁碟機代號的完整路徑,例如:%n%nC:APP%n%n或輸入下列格式的 UNC 路徑:%n%n伺服器共用
InvalidPath=必須輸入包含磁碟機代號的完整路徑,例如:%n%nC:\APP%n%n或輸入下列格式的 UNC 路徑:%n%n\伺服器\共用
InvalidDrive=選取的磁碟機或 UNC 共用不存在或無法存取。請選取其他磁碟機或 UNC 共用。
DiskSpaceWarningTitle=磁碟空間不足
DiskSpaceWarning=安裝程式至少需要 %1 KB 的可用空間才能安裝,但所選磁碟機的可用空間只有 %2 KB。%n%n仍要繼續嗎?
......@@ -231,9 +231,9 @@ ErrorFunctionFailed=%1
ErrorFunctionFailedWithMessage=%1 失敗; 代碼 %2。%n%3
ErrorExecutingProgram=無法執行檔案:%n%1
; *** Registry errors
ErrorRegOpenKey=開啟登錄機碼時發生錯誤:%n%1%2
ErrorRegCreateKey=建立登錄機碼時發生錯誤:%n%1%2
ErrorRegWriteKey=寫入登錄機碼時發生錯誤:%n%1%2
ErrorRegOpenKey=開啟登錄機碼時發生錯誤:%n%1\%2
ErrorRegCreateKey=建立登錄機碼時發生錯誤:%n%1\%2
ErrorRegWriteKey=寫入登錄機碼時發生錯誤:%n%1\%2
; *** INI errors
ErrorIniEntry=在檔案 "%1" 中建立 INI 項目時發生錯誤。
; *** File copying errors
......
此差异已折叠。
此差异已折叠。
......@@ -456,9 +456,10 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
this.execute('configure', configureOptions);
if (this.apiVersion.has206Features()) {
let compilerOptions: Proto.ExternalProjectCompilerOptions = {
module: Proto.ModuleKind.CommonJS,
target: Proto.ScriptTarget.ES6,
module: 'CommonJS',
target: 'ES6',
allowSyntheticDefaultImports: true,
allowNonTsExtensions: true,
allowJs: true,
};
let args: Proto.SetCompilerOptionsForInferredProjectsArgs = {
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "版本不匹配! 全局 tsc ({0}) != VS Code 的语言服务({1})。可能出现不一致的编译错误"
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "属性“{0}”可以省略或其类型必须是 \"string[]\"",
"extensionDescription.activationEvents2": "必须同时指定或同时省略属性”{0}“和”{1}“",
"extensionDescription.empty": "已获得空扩展说明",
"extensionDescription.engines": "属性“{0}”为必需且其类型必须为 \"object\"",
"extensionDescription.engines.vscode": "属性“{0}”是必需的,其类型必须是“字符串”",
"extensionDescription.extensionDependencies": "属性“{0}”可以省略或其类型必须是 \"string[]\"",
"extensionDescription.main1": "属性“{0}”可以省略,或者其类型必须是“字符串”",
"extensionDescription.main2": "应在扩展文件夹({1})中包含 \"main\" ({0})。这可能会使扩展不可移植。",
"extensionDescription.main3": "必须同时指定或同时省略属性”{0}“和”{1}“",
"extensionDescription.name": "属性“{0}”是必需的,其类型必须是“字符串”",
"extensionDescription.publisher": "属性“{0}”是必需的,其类型必须是“字符串”",
"extensionDescription.version": "属性“{0}”是必需的,其类型必须是“字符串”",
"notSemver": "扩展版本与 semver 不兼容。",
"versionMismatch": "扩展与 Code {0} 不兼容。扩展需要: {1}。",
"versionSpecificity1": "\"engines.vscode\" ({0}) 中指定的版本不够具体。对于 1.0.0 之前的 vscode 版本,请至少定义主要和次要想要的版本。例如: ^0.10.0、0.10.x、0.11.0 等。",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "输入",
"patternDescription": "使用 Glob 模式",
"patternHelpInclude": "要匹配的模式。例如,****/*.js** 与所有 JavaScript 文件匹配,或 **myFolder/**** 与包含所有子级的文件夹匹配。\n\n**Reference**:\n***** 匹配 0 个或更多字符\n**?** 匹配 1 个字符\n****** 匹配零个或更多目录\n**[a-z]** 匹配一系列字符\n**{a,b}** 匹配任何一种模式)"
"patternHelpInclude": "要匹配的模式。例如,**\\*\\*/*.js** 与所有 JavaScript 文件匹配,或 **myFolder/\\*\\*** 与包含所有子级的文件夹匹配。\n\n**Reference**:\n**\\*** 匹配 0 个或更多字符\n**?** 匹配 1 个字符\n**\\*\\*** 匹配零个或更多目录\n**[a-z]** 匹配一系列字符\n**{a,b}** 匹配任何一种模式)"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "控制是否在终端启动时设置区域设置变量,在 OS X 上默认设置为 true,在其他平台上为 false。",
"terminal.integrated.shell.linux": "终端在 Linux 上使用的 shell 的路径。",
"terminal.integrated.shell.osx": "终端在 OS X 上使用的 shell 的路径。",
"terminal.integrated.shell.windows": "终端在 Windows 上使用的 shell 的路径。使用随 Windows 一起提供的 shell 时(cmd、PowerShell 或 Ubuntu 上的 Bash),相对 C:WindowsSystem32,首选 C:Windowssysnative 以使用 64 位版本。",
"terminal.integrated.shell.windows": "终端在 Windows 上使用的 shell 的路径。使用随 Windows 一起提供的 shell 时(cmd、PowerShell 或 Ubuntu 上的 Bash),相对 C:\\Windows\\System32,首选 C:\\Windows\\sysnative 以使用 64 位版本。",
"terminal.integrated.shellArgs.linux": "在 Linux 终端上时要使用的命令行参数。",
"terminal.integrated.shellArgs.osx": "在 OS X 终端上时要使用的命令行参数。",
"terminal.integrated.shellArgs.windows": "在 Windows 终端上时使用的命令行参数。",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "日常会员版本和发布!",
"license": "读取许可证",
"licenseChanged": "我们的许可条款已更改,请检查它们。",
"neverShowAgain": "不再显示",
"read the release notes": "欢迎使用 {0} v{1}! 是否要阅读发布说明?",
"readmore": "阅读更多内容",
"release notes": "发行说明"
"release notes": "发行说明",
"updateChannel": "配置是否从更新通道接收自动更新。更改后需要重启。",
"updateConfigurationTitle": "更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "立即下载",
"later": "稍后",
"noUpdatesAvailable": "当前没有可用的更新。",
"read the release notes": "欢迎使用 {0} v{1}! 是否要阅读发布说明?",
"releaseNotes": "发行说明",
"showReleaseNotes": "显示发行说明",
"thereIsUpdateAvailable": "存在可用更新。",
"updateAvailable": "{0} 将在重启后更新。",
"updateNow": "立即更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "版本不符! 全域 TSC ({0}) != VS Code 的語言服務 ({1})。可能會發生編譯不一致的錯誤"
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "屬性 `{0}` 可以省略或必須屬於 `string[]` 類型",
"extensionDescription.activationEvents2": "屬性 `{0}` 和 `{1}` 必須同時指定或同時忽略",
"extensionDescription.empty": "得到空白擴充功能描述",
"extensionDescription.engines": "屬性 '{0}' 為強制項目且必須屬於 `object` 類型",
"extensionDescription.engines.vscode": "屬性 '{0}' 為強制項目且必須屬於 `string` 類型",
"extensionDescription.extensionDependencies": "屬性 `{0}` 可以省略或必須屬於 `string[]` 類型",
"extensionDescription.main1": "屬性 `{0}` 可以省略或必須屬於 `string` 類型",
"extensionDescription.main2": "`main` ({0}) 必須包含在擴充功能的資料夾 ({1}) 中。這可能會使擴充功能無法移植。",
"extensionDescription.main3": "屬性 `{0}` 和 `{1}` 必須同時指定或同時忽略",
"extensionDescription.name": "屬性 '{0}' 為強制項目且必須屬於 `string` 類型",
"extensionDescription.publisher": "屬性 '{0}' 為強制項目且必須屬於 `string` 類型",
"extensionDescription.version": "屬性 '{0}' 為強制項目且必須屬於 `string` 類型",
"notSemver": "擴充功能版本與 semver 不相容。",
"versionMismatch": "擴充功能與 Code {0} 不相容。擴充功能需要: {1}。",
"versionSpecificity1": "在 `engines.vscode` ({0}) 中指定的版本不夠具體。對於 1.0.0 之前的 vscode 版本,請至少定義所需的主要和次要版本。 例如 ^0.10.0、0.10.x、0.11.0 等。",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "輸入",
"patternDescription": "使用 Glob 模式",
"patternHelpInclude": "要比對的模式。例如 ****/*.js** 可比對所有 JavaScript 檔案,或 **myFolder/**** 可比對資料夾和所有子系。\n\n**參考**:\n***** 比對 0 或多個字元\n**?** 比對 1 個字元\n****** 比對 0 或多個目錄\n**[a-z]** 比對某個範圍的字元\n**{a,b}** 比對任何模式)"
"patternHelpInclude": "要比對的模式。例如 **\\*\\*/*.js** 可比對所有 JavaScript 檔案,或 **myFolder/\\*\\*** 可比對資料夾和所有子系。\n\n**參考**:\n**\\*** 比對 0 或多個字元\n**?** 比對 1 個字元\n**\\*\\*** 比對 0 或多個目錄\n**[a-z]** 比對某個範圍的字元\n**{a,b}** 比對任何模式)"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "控制是否在終端機啟動時設定地區設定變數,這在 OS X 上預設為 true,在其他平台則為 false。",
"terminal.integrated.shell.linux": "終端機在 Linux 上使用的殼層路徑。",
"terminal.integrated.shell.osx": "終端機在 OS X 上使用的殼層路徑。",
"terminal.integrated.shell.windows": "終端機在 Windows 上使用的殼層路徑。使用隨附於 Windows 的殼層 (cmd、PowerShell 或 Bash on Ubuntu) 時,建議選擇 C:Windowssysnative 而非 C:WindowsSystem32,以使用 64 位元版本。",
"terminal.integrated.shell.windows": "終端機在 Windows 上使用的殼層路徑。使用隨附於 Windows 的殼層 (cmd、PowerShell 或 Bash on Ubuntu) 時,建議選擇 C:\\Windows\\sysnative 而非 C:\\Windows\\System32,以使用 64 位元版本。",
"terminal.integrated.shellArgs.linux": "在 Linux 終端機要使用的命令列引數。",
"terminal.integrated.shellArgs.osx": "在 OS X 終端機要使用的命令列引數。",
"terminal.integrated.shellArgs.windows": "在 Windows 終端機上時要使用的命令列引數。",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "每日都有測試人員組建及版本!",
"license": "閱讀授權",
"licenseChanged": "授權條款已有所變更,請仔細閱讀。",
"neverShowAgain": "不要再顯示",
"read the release notes": "歡迎使用 {0} v{1}! 您要閱讀版本資訊嗎?",
"readmore": "閱讀其他資訊",
"release notes": "版本資訊"
"release notes": "版本資訊",
"updateChannel": "設定是否要從更新頻道接收自動更新。變更後需要重新啟動。",
"updateConfigurationTitle": "更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "立即下載",
"later": "稍後",
"noUpdatesAvailable": "目前沒有可用的更新。",
"read the release notes": "歡迎使用 {0} v{1}! 您要閱讀版本資訊嗎?",
"releaseNotes": "版本資訊",
"showReleaseNotes": "顯示版本資訊",
"thereIsUpdateAvailable": "已有更新可用。",
"updateAvailable": "{0} 重新啟動後將會更新。",
"updateNow": "立即更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "Versionskonflikt zwischen dem globalen TSC ({0}) und dem Sprachdienst von VS Code ({1}). Dies kann zu Kompilierungsfehlern aufgrund von Inkonsistenzen führen."
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "Die Eigenschaft \"{0}\" kann ausgelassen werden oder muss vom Typ \"string[]\" sein.",
"extensionDescription.activationEvents2": "Die Eigenschaften \"{0}\" und \"{1}\" müssen beide angegeben oder beide ausgelassen werden.",
"extensionDescription.empty": "Es wurde eine leere Extensionbeschreibung abgerufen.",
"extensionDescription.engines": "Die Eigenschaft \"{0}\" ist erforderlich und muss vom Typ \"object\" sein.",
"extensionDescription.engines.vscode": "Die Eigenschaft \"{0}\" ist erforderlich. Sie muss vom Typ \"string\" sein.",
"extensionDescription.extensionDependencies": "Die Eigenschaft \"{0}\" kann ausgelassen werden oder muss vom Typ \"string[]\" sein.",
"extensionDescription.main1": "Die Eigenschaft \"{0}\" kann ausgelassen werden oder muss vom Typ \"string\" sein.",
"extensionDescription.main2": "Es wurde erwartet, dass \"main\" ({0}) im Ordner ({1}) der Extension enthalten ist. Dies führt ggf. dazu, dass die Extension nicht portierbar ist.",
"extensionDescription.main3": "Die Eigenschaften \"{0}\" und \"{1}\" müssen beide angegeben oder beide ausgelassen werden.",
"extensionDescription.name": "Die Eigenschaft \"{0}\" ist erforderlich. Sie muss vom Typ \"string\" sein.",
"extensionDescription.publisher": "Die Eigenschaft \"{0}\" ist erforderlich. Sie muss vom Typ \"string\" sein.",
"extensionDescription.version": "Die Eigenschaft \"{0}\" ist erforderlich. Sie muss vom Typ \"string\" sein.",
"notSemver": "Die Extensionversion ist nicht mit \"semver\" kompatibel.",
"versionMismatch": "Die Extension ist nicht mit dem Code {0} kompatibel. Die Extension erfordert {1}.",
"versionSpecificity1": "Die in \"engines.vscode\" ({0}) angegebene Version ist nicht spezifisch genug. Definieren Sie für VS Code-Versionen vor Version 1.0.0 bitte mindestens die gewünschte Haupt- und Nebenversion, z. B. ^0.10.0, 0.10.x, 0.11.0 usw.",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "Eingabe",
"patternDescription": "Globmuster verwenden",
"patternHelpInclude": "Das Muster, mit dem eine Übereinstimmung vorliegen soll, z. B. ****/*.js** für alle JavaScript-Dateien oder **meinOrdner/**** für eine Übereinstimmung mit diesem Ordner und allen seinen untergeordneten Elementen.\n\n**Referenz**:\n***** stimmt mit 0 oder mehr Zeichen überein.\n**?** stimmt mit 1 Zeichen überein.\n****** stimmt mit null oder mehr Verzeichnissen überein.\n**[a-z]** stimmt mit einem Zeichenbereich überein.\n**{a,b}** stimmt mit einem beliebigen Muster überein."
"patternHelpInclude": "Das Muster, mit dem eine Übereinstimmung vorliegen soll, z. B. **\\*\\*/*.js** für alle JavaScript-Dateien oder **meinOrdner/\\*\\*** für eine Übereinstimmung mit diesem Ordner und allen seinen untergeordneten Elementen.\n\n**Referenz**:\n**\\*** stimmt mit 0 oder mehr Zeichen überein.\n**?** stimmt mit 1 Zeichen überein.\n**\\*\\*** stimmt mit null oder mehr Verzeichnissen überein.\n**[a-z]** stimmt mit einem Zeichenbereich überein.\n**{a,b}** stimmt mit einem beliebigen Muster überein."
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "Steuert, ob Gebietsschemavariablen beim Start des Terminals festgelegt werden. Der Standardwert ist unter OS X TRUE und FALSE auf anderen Plattformen.",
"terminal.integrated.shell.linux": "Der Pfad der Shell, den das Terminal unter Linux verwendet.",
"terminal.integrated.shell.osx": "Der Pfad der Shell, den das Terminal unter OS X verwendet.",
"terminal.integrated.shell.windows": "Der Pfad der Shell, den das Terminal unter Windows verwendet. Wenn Shells aus dem Lieferumfang von Windows (cmd, PowerShell oder Bash für Ubuntu) verwendet werden, sollten Sie \"C:Windowssysnative\" dem Pfad \"C:WindowsSystem32\" vorziehen, um die 64-Bit-Versionen zu verwenden.",
"terminal.integrated.shell.windows": "Der Pfad der Shell, den das Terminal unter Windows verwendet. Wenn Shells aus dem Lieferumfang von Windows (cmd, PowerShell oder Bash für Ubuntu) verwendet werden, sollten Sie \"C:\\Windows\\sysnative\" dem Pfad \"C:\\Windows\\System32\" vorziehen, um die 64-Bit-Versionen zu verwenden.",
"terminal.integrated.shellArgs.linux": "Die Befehlszeilenargumente, die für das Linux-Terminal verwendet werden sollen.",
"terminal.integrated.shellArgs.osx": "Die Befehlszeilenargumente, die für das OS X-Terminal verwendet werden sollen.",
"terminal.integrated.shellArgs.windows": "Die Befehlszeilenargumente, die im Windows-Terminal verwendet werden sollen.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Tägliche Insider-Builds und Releases!",
"license": "Lizenz lesen",
"licenseChanged": "Unsere Lizenzbedingungen haben sich geändert. Bitte lesen Sie sie.",
"neverShowAgain": "Nicht mehr anzeigen",
"read the release notes": "Willkommen bei {0} v{1}! Möchten Sie die Hinweise zu dieser Version lesen?",
"readmore": "Weitere Informationen",
"release notes": "Anmerkungen zu dieser Version"
"release notes": "Anmerkungen zu dieser Version",
"updateChannel": "Konfiguriert, ob automatische Updates aus einem Updatekanal empfangen werden sollen. Erfordert einen Neustart nach der Änderung.",
"updateConfigurationTitle": "Update"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "Jetzt herunterladen",
"later": "Später",
"noUpdatesAvailable": "Zurzeit sind keine Updates verfügbar.",
"read the release notes": "Willkommen bei {0} v{1}! Möchten Sie die Hinweise zu dieser Version lesen?",
"releaseNotes": "Anmerkungen zu dieser Version",
"showReleaseNotes": "Anmerkungen zu dieser Version anzeigen",
"thereIsUpdateAvailable": "Ein Update ist verfügbar.",
"updateAvailable": "{0} wird nach dem Neustart aktualisiert.",
"updateNow": "Jetzt aktualisieren"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "Las versiones no coinciden; global tsc ({0}) != servicio de lenguaje de VS Code ({1}). Pueden producirse errores de compilación incoherente."
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "la propiedad `{0}` se puede omitir o debe ser de tipo \"string[]\"",
"extensionDescription.activationEvents2": "las propiedades `{0}` y `{1}` deben especificarse u omitirse conjuntamente",
"extensionDescription.empty": "Se obtuvo una descripción vacía de la extensión.",
"extensionDescription.engines": "la propiedad `{0}` es obligatoria y debe ser de tipo \"object\"",
"extensionDescription.engines.vscode": "la propiedad `{0}` es obligatoria y debe ser de tipo \"string\"",
"extensionDescription.extensionDependencies": "la propiedad `{0}` se puede omitir o debe ser de tipo \"string[]\"",
"extensionDescription.main1": "la propiedad `{0}` se puede omitir o debe ser de tipo \"string\"",
"extensionDescription.main2": "Se esperaba que \"main\" ({0}) se hubiera incluido en la carpeta de la extensión ({1}). Esto puede hacer que la extensión no sea portátil.",
"extensionDescription.main3": "las propiedades `{0}` y `{1}` deben especificarse u omitirse conjuntamente",
"extensionDescription.name": "la propiedad `{0}` es obligatoria y debe ser de tipo \"string\"",
"extensionDescription.publisher": "la propiedad `{0}` es obligatoria y debe ser de tipo \"string\"",
"extensionDescription.version": "la propiedad `{0}` es obligatoria y debe ser de tipo \"string\"",
"notSemver": "La versión de la extensión no es compatible con semver.",
"versionMismatch": "La extensión no es compatible con {0} de Code y requiere: {1}.",
"versionSpecificity1": "La versión indicada en \"engines.vscode\" ({0}) no es suficientemente específica. Para las versiones de vscode anteriores a la 1.0.0, defina como mínimo la versión principal y secundaria deseadas. Por ejemplo: ^0.10.0, 0.10.x, 0.11.0, etc.",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "entrada",
"patternDescription": "Usar patrones globales",
"patternHelpInclude": "El patrón de coincidencia, por ejemplo, ****/*.js** para todos los archivos JavaScript o **miCarpeta/**** para encontrar coincidencias de esa carpeta con todos los elementos secundarios.\n\n**Referencia**:\n***** encuentra coincidencias con 0 o más caracteres\n**?** encuentra coincidencias con 1 carácter\n****** encuentra coincidencias con cero o más directorios\n**[a-z]** encuentra coincidencias con un rango de caracteres\n**{a,b}** encuentra coincidencias con cualquiera de los patrones"
"patternHelpInclude": "El patrón de coincidencia, por ejemplo, **\\*\\*/*.js** para todos los archivos JavaScript o **miCarpeta/\\*\\*** para encontrar coincidencias de esa carpeta con todos los elementos secundarios.\n\n**Referencia**:\n**\\*** encuentra coincidencias con 0 o más caracteres\n**?** encuentra coincidencias con 1 carácter\n**\\*\\*** encuentra coincidencias con cero o más directorios\n**[a-z]** encuentra coincidencias con un rango de caracteres\n**{a,b}** encuentra coincidencias con cualquiera de los patrones"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "Controla si las variables de configuración regional se definen al inicio del terminal. El valor predeterminado es true en OS X y false en las demás plataformas.",
"terminal.integrated.shell.linux": "La ruta de acceso del shell que el terminal usa en Linux.",
"terminal.integrated.shell.osx": "La ruta de acceso del shell que el terminal usa en OS X.",
"terminal.integrated.shell.windows": "Ruta de acceso del shell que el terminal utiliza en Windows. Cuando se usan shells incluidos en Windows (cmd, PowerShell o Bash en Ubuntu), se recomienda C:Windowssysnative en lugar de C:WindowsSystem32 para usar las versiones de 64 bits.",
"terminal.integrated.shell.windows": "Ruta de acceso del shell que el terminal utiliza en Windows. Cuando se usan shells incluidos en Windows (cmd, PowerShell o Bash en Ubuntu), se recomienda C:\\Windows\\sysnative en lugar de C:\\Windows\\System32 para usar las versiones de 64 bits.",
"terminal.integrated.shellArgs.linux": "Los argumentos de la línea de comandos que se usarán en el terminal de Linux.",
"terminal.integrated.shellArgs.osx": "Los argumentos de la línea de comandos que se usarán en el terminal de OS X.",
"terminal.integrated.shellArgs.windows": "Argumentos de la línea de comandos que se usan cuando se utiliza el terminal Windows.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Compilaciones y versiones de Insider todos los días",
"license": "Leer licencia",
"licenseChanged": "Los términos de licencia han cambiado, revíselos.",
"neverShowAgain": "No volver a mostrar",
"read the release notes": "{0} v{1}. ¿Quiere leer las notas de la versión?",
"readmore": "Más información",
"release notes": "Notas de la versión"
"release notes": "Notas de la versión",
"updateChannel": "Configure si recibirá actualizaciones automáticas de un canal de actualización. Es necesario reiniciar tras el cambio.",
"updateConfigurationTitle": "Actualización"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "Descargar ahora",
"later": "Más tarde",
"noUpdatesAvailable": "Actualmente no hay actualizaciones disponibles.",
"read the release notes": "{0} v{1}. ¿Quiere leer las notas de la versión?",
"releaseNotes": "Notas de la versión",
"showReleaseNotes": "Mostrar las notas de la versión",
"thereIsUpdateAvailable": "Hay una actualización disponible.",
"updateAvailable": "{0} se actualizará después de reiniciarse.",
"updateNow": "Actualizar ahora"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "Incompatibilité de version ! global tsc ({0}) != Service de langage de VS Code ({1}). Des erreurs de compilation incohérentes risquent de se produire"
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "la propriété '{0}' peut être omise ou doit être de type 'string[]'",
"extensionDescription.activationEvents2": "les propriétés '{0}' et '{1}' doivent être toutes les deux spécifiées ou toutes les deux omises",
"extensionDescription.empty": "Description d'extension vide obtenue",
"extensionDescription.engines": "la propriété '{0}' est obligatoire et doit être de type 'object'",
"extensionDescription.engines.vscode": "la propriété '{0}' est obligatoire et doit être de type 'string'",
"extensionDescription.extensionDependencies": "la propriété '{0}' peut être omise ou doit être de type 'string[]'",
"extensionDescription.main1": "La propriété '{0}' peut être omise ou doit être de type 'string'",
"extensionDescription.main2": "'main' ({0}) est censé être inclus dans le dossier ({1}) de l'extension. Cela risque de rendre l'extension non portable.",
"extensionDescription.main3": "les propriétés '{0}' et '{1}' doivent être toutes les deux spécifiées ou toutes les deux omises",
"extensionDescription.name": "la propriété '{0}' est obligatoire et doit être de type 'string'",
"extensionDescription.publisher": "la propriété '{0}' est obligatoire et doit être de type 'string'",
"extensionDescription.version": "la propriété '{0}' est obligatoire et doit être de type 'string'",
"notSemver": "La version de l'extension n'est pas compatible avec SemVer.",
"versionMismatch": "L'extension n'est pas compatible avec le code {0}. L'extension nécessite {1}.",
"versionSpecificity1": "La version spécifiée dans 'engines.vscode' ({0}) n'est pas assez précise. Pour les versions de vscode antérieures à 1.0.0, définissez au minimum les versions majeure et mineure souhaitées. Par exemple : ^0.10.0, 0.10.x, 0.11.0, etc.",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "entrée",
"patternDescription": "Utiliser des modèles Glob",
"patternHelpInclude": "Modèle de correspondance. Exemple : ****/*.js** pour établir une correspondance avec tous les fichiers JavaScript, ou **myFolder/**** pour établir une correspondance avec le dossier indiqué et tous ses enfants.\n\n**Référence** :\n***** correspond à 0 caractère ou plus\n**?** correspond à 1 caractère\n****** correspond à zéro répertoire ou plus\n**[a-z]** correspond à une plage de caractères\n**{a,b}** correspond à tous les modèles)"
"patternHelpInclude": "Modèle de correspondance. Exemple : **\\*\\*/*.js** pour établir une correspondance avec tous les fichiers JavaScript, ou **myFolder/\\*\\*** pour établir une correspondance avec le dossier indiqué et tous ses enfants.\n\n**Référence** :\n**\\*** correspond à 0 caractère ou plus\n**?** correspond à 1 caractère\n**\\*\\*** correspond à zéro répertoire ou plus\n**[a-z]** correspond à une plage de caractères\n**{a,b}** correspond à tous les modèles)"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "Contrôle si les variables locales sont définies au démarrage du terminal. La valeur par défaut est true sur OS X, false sur les autres plateformes.",
"terminal.integrated.shell.linux": "Chemin de l'interpréteur de commandes utilisé par le terminal sur Linux.",
"terminal.integrated.shell.osx": "Chemin de l'interpréteur de commandes utilisé par le terminal sur OS X.",
"terminal.integrated.shell.windows": "Chemin de l'interpréteur de commandes utilisé par le terminal sur Windows. Quand vous vous servez des interpréteurs de commandes fournis avec Windows (cmd, PowerShell ou Bash sur Ubuntu), préférez C:Windowssysnative à C:WindowsSystem32 pour utiliser les versions 64 bits.",
"terminal.integrated.shell.windows": "Chemin de l'interpréteur de commandes utilisé par le terminal sur Windows. Quand vous vous servez des interpréteurs de commandes fournis avec Windows (cmd, PowerShell ou Bash sur Ubuntu), préférez C:\\Windows\\sysnative à C:\\Windows\\System32 pour utiliser les versions 64 bits.",
"terminal.integrated.shellArgs.linux": "Arguments de ligne de commande à utiliser sur le terminal Linux.",
"terminal.integrated.shellArgs.osx": "Arguments de ligne de commande à utiliser sur le terminal OS X.",
"terminal.integrated.shellArgs.windows": "Arguments de ligne de commande à utiliser sur le terminal Windows.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Builds et mises en production Insider quotidiennes !",
"license": "Lire la licence",
"licenseChanged": "Nos termes du contrat de licence ont changé. Prenez un instant pour les consulter.",
"neverShowAgain": "Ne plus afficher",
"read the release notes": "Bienvenue dans {0} v{1} ! Voulez-vous lire les notes de publication ?",
"readmore": "Lire la suite",
"release notes": "Notes de publication"
"release notes": "Notes de publication",
"updateChannel": "Indiquez si vous recevez des mises à jour automatiques en provenance d'un canal de mises à jour. Un redémarrage est nécessaire en cas de modification.",
"updateConfigurationTitle": "Mettre à jour"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "Télécharger maintenant",
"later": "Plus tard",
"noUpdatesAvailable": "Aucune mise à jour n'est disponible actuellement.",
"read the release notes": "Bienvenue dans {0} v{1} ! Voulez-vous lire les notes de publication ?",
"releaseNotes": "Notes de publication",
"showReleaseNotes": "Afficher les notes de publication",
"thereIsUpdateAvailable": "Une mise à jour est disponible.",
"updateAvailable": "{0} sera mis à jour après avoir redémarré.",
"updateNow": "Mettre à jour maintenant"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "Le versioni non corrispondono. Compilatore tsc globale ({0}) != servizio di linguaggio di Visual Studio Code ({1}). Potrebbero verificarsi errori di compilazione incoerente"
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "la proprietà `{0}` può essere omessa o deve essere di tipo `string[]`",
"extensionDescription.activationEvents2": "le proprietà `{0}` e `{1}` devono essere specificate o omesse entrambi",
"extensionDescription.empty": "La descrizione dell'estensione restituita è vuota",
"extensionDescription.engines": "la proprietà `{0}` è obbligatoria e deve essere di tipo `object`",
"extensionDescription.engines.vscode": "la proprietà `{0}` è obbligatoria e deve essere di tipo `string`",
"extensionDescription.extensionDependencies": "la proprietà `{0}` può essere omessa o deve essere di tipo `string[]`",
"extensionDescription.main1": "la proprietà `{0}` può essere omessa o deve essere di tipo `string`",
"extensionDescription.main2": "Valore previsto di `main` ({0}) da includere nella cartella dell'estensione ({1}). L'estensione potrebbe non essere più portatile.",
"extensionDescription.main3": "le proprietà `{0}` e `{1}` devono essere specificate o omesse entrambi",
"extensionDescription.name": "la proprietà `{0}` è obbligatoria e deve essere di tipo `string`",
"extensionDescription.publisher": "la proprietà `{0}` è obbligatoria e deve essere di tipo `string`",
"extensionDescription.version": "la proprietà `{0}` è obbligatoria e deve essere di tipo `string`",
"notSemver": "La versione dell'estensione non è compatibile con semver.",
"versionMismatch": "L'estensione non è compatibile con Visual Studio Code {0}. Per l'estensione è richiesto: {1}.",
"versionSpecificity1": "La versione specificata in `engines.vscode` ({0}) non è abbastanza specifica. Per le versioni di vscode precedenti alla 1.0.0, definire almeno le versioni principale e secondaria desiderate, ad esempio ^0.10.0, 0.10.x, 0.11.0 e così via.",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "input",
"patternDescription": "Usa criteri GLOB",
"patternHelpInclude": "Criterio da usare per la ricerca, ad esempio ****/*.js** per cercare tutti i file JavaScript oppure **cartellaPersonale/**** per cercare la cartella specificata con tutti gli elementi figlio.\n\n**Informazioni di riferimento**:\n***** consente di cercare 0 o più caratteri\n**?** consente di cercare 1 carattere\n****** consente di cercare zero o più directory\n**[a-z]** consente di cercare un intervallo di caratteri\n**{a,b}** consente di cercare uno qualsiasi dei criteri"
"patternHelpInclude": "Criterio da usare per la ricerca, ad esempio **\\*\\*/*.js** per cercare tutti i file JavaScript oppure **cartellaPersonale/\\*\\*** per cercare la cartella specificata con tutti gli elementi figlio.\n\n**Informazioni di riferimento**:\n**\\*** consente di cercare 0 o più caratteri\n**?** consente di cercare 1 carattere\n**\\*\\*** consente di cercare zero o più directory\n**[a-z]** consente di cercare un intervallo di caratteri\n**{a,b}** consente di cercare uno qualsiasi dei criteri"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "Controlla se le variabili delle impostazioni locali sono impostate all'avvio del terminale. Il valore predefinito è true per OS X e false per altre piattaforme.",
"terminal.integrated.shell.linux": "Percorso della shell usata dal terminale in Linux.",
"terminal.integrated.shell.osx": "Percorso della shell usata dal terminale in OS X.",
"terminal.integrated.shell.windows": "Percorso della shell usata dal terminale in Windows. Quando si usano le shell incluse in Windows (cmd, PowerShell o Bash in Ubuntu), preferire C:Windowssysnative rispetto a C:WindowsSystem32 per usare le versioni a 64 bit.",
"terminal.integrated.shell.windows": "Percorso della shell usata dal terminale in Windows. Quando si usano le shell incluse in Windows (cmd, PowerShell o Bash in Ubuntu), preferire C:\\Windows\\sysnative rispetto a C:\\Windows\\System32 per usare le versioni a 64 bit.",
"terminal.integrated.shellArgs.linux": "Argomenti della riga di comando da usare nel terminale Linux.",
"terminal.integrated.shellArgs.osx": "Argomenti della riga di comando da usare nel terminale OS X.",
"terminal.integrated.shellArgs.windows": "Argomenti della riga di comando da usare nel terminale Windows.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Build e versioni di Insider disponibili ogni giorno",
"license": "Leggi licenza",
"licenseChanged": "I termini della licenza sono cambiati. Leggerli con attenzione.",
"neverShowAgain": "Non visualizzare più questo messaggio",
"read the release notes": "Benvenuti in {0} versione {1}. Leggere le note sulla versione?",
"readmore": "Altre informazioni",
"release notes": "Note sulla versione"
"release notes": "Note sulla versione",
"updateChannel": "Consente di configurare la ricezione degli aggiornamenti automatici da un canale di aggiornamento. Richiede un riavvio dopo la modifica.",
"updateConfigurationTitle": "Aggiorna"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "Scarica ora",
"later": "In seguito",
"noUpdatesAvailable": "Al momento non sono disponibili aggiornamenti.",
"read the release notes": "Benvenuti in {0} versione {1}. Leggere le note sulla versione?",
"releaseNotes": "Note sulla versione",
"showReleaseNotes": "Mostra note sulla versione",
"thereIsUpdateAvailable": "È disponibile un aggiornamento.",
"updateAvailable": "{0} verrà aggiornato dopo il riavvio.",
"updateNow": "Aggiorna adesso"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "グローバルな tsc ({0}) と VS Code の言語サービス ({1}) の間にバージョンの不一致があります。非整合のコンパイル エラーを引き起こす可能性があります"
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "プロパティ `{0}` は省略するか、型 `string[]` にする必要があります",
"extensionDescription.activationEvents2": "プロパティ `{0}` と `{1}` は、両方とも指定するか両方とも省略しなければなりません",
"extensionDescription.empty": "空の拡張機能の説明を入手しました",
"extensionDescription.engines": "プロパティ `{0}` は必須で、型 `object` でなければなりません",
"extensionDescription.engines.vscode": "プロパティ `{0}` は必須で、型 `string` でなければなりません",
"extensionDescription.extensionDependencies": "プロパティ `{0}` は省略するか、型 `string[]` にする必要があります",
"extensionDescription.main1": "プロパティ `{0}` は省略するか、型 `string` にする必要があります",
"extensionDescription.main2": "拡張機能のフォルダー ({1}) の中に `main` ({0}) が含まれることが予期されます。これにより拡張機能を移植できなくなる可能性があります。",
"extensionDescription.main3": "プロパティ `{0}` と `{1}` は、両方とも指定するか両方とも省略しなければなりません",
"extensionDescription.name": "プロパティ `{0}` は必須で、型 `string` でなければなりません",
"extensionDescription.publisher": "プロパティ `{0}` は必須で、型 `string` でなければなりません",
"extensionDescription.version": "プロパティ `{0}` は必須で、型 `string` でなければなりません",
"notSemver": "拡張機能のバージョンが semver と互換性がありません。",
"versionMismatch": "拡張機能が Code {0} と互換性がありません。拡張機能に必要なバージョン: {1}。",
"versionSpecificity1": "`engines.vscode` ({0}) で指定されたバージョンが十分に特定されていません。1.0.0 より前の vscode バージョンの場合は、少なくとも想定されているメジャー バージョンとマイナー バージョンを定義してください。例 ^0.10.0、0.10.x、0.11.0 など。",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "入力",
"patternDescription": "glob パターンを使用する",
"patternHelpInclude": "一致するパターン。たとえば、****/*.js** はすべての JavaScript ファイルと一致し、**myFolder/**** は当該フォルダーとすべての子と一致します。\n\n**参照情報**:\n***** は 0 個以上の文字と一致します\n**?** は 1 文字と一致します\n****** は 0 個以上のディレクトリと一致します\n**[a-z]** は文字の範囲と一致します\n**{a,b}** は任意のパターンと一致します)"
"patternHelpInclude": "一致するパターン。たとえば、**\\*\\*/*.js** はすべての JavaScript ファイルと一致し、**myFolder/\\*\\*** は当該フォルダーとすべての子と一致します。\n\n**参照情報**:\n**\\*** は 0 個以上の文字と一致します\n**?** は 1 文字と一致します\n**\\*\\*** は 0 個以上のディレクトリと一致します\n**[a-z]** は文字の範囲と一致します\n**{a,b}** は任意のパターンと一致します)"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "端末の開始時にロケール変数を設定するかどうかを制御します。OS X では既定で true になり、その他のプラットフォームでは false です。",
"terminal.integrated.shell.linux": "端末が Linux で使用するシェルのパス。",
"terminal.integrated.shell.osx": "端末が OS X で使用するシェルのパス。",
"terminal.integrated.shell.windows": "端末が Windows で使用するシェルのパス。Windows に付属のシェル (cmd、PowerShell、または Bash on Ubuntu) を使用する場合、64 ビット バージョンを使用するには、C:WindowsSystem32 ではなく、C:Windowssysnative を選びます。",
"terminal.integrated.shell.windows": "端末が Windows で使用するシェルのパス。Windows に付属のシェル (cmd、PowerShell、または Bash on Ubuntu) を使用する場合、64 ビット バージョンを使用するには、C:\\Windows\\System32 ではなく、C:\\Windows\\sysnative を選びます。",
"terminal.integrated.shellArgs.linux": "Linux 端末で使用するコマンド ライン引数。",
"terminal.integrated.shellArgs.osx": "OS X 端末で使用するコマンド ライン引数。",
"terminal.integrated.shellArgs.windows": "Windows ターミナル上の場合に使用されるコマンド ライン引数。",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Insider ビルドが毎日リリースされます。",
"license": "ライセンスの閲覧",
"licenseChanged": "ライセンス条項が変更されました。内容をご確認ください。",
"neverShowAgain": "今後は表示しない",
"read the release notes": "{0} v{1} へようこそ! リリース ノートを確認しますか?",
"readmore": "詳細を参照",
"release notes": "リリース ノート"
"release notes": "リリース ノート",
"updateChannel": "更新チャネルから自動更新を受信するかどうかを構成します。変更後に再起動が必要です。",
"updateConfigurationTitle": "更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "今すぐダウンロード",
"later": "後で",
"noUpdatesAvailable": "現在入手可能な更新はありません。",
"read the release notes": "{0} v{1} へようこそ! リリース ノートを確認しますか?",
"releaseNotes": "リリース ノート",
"showReleaseNotes": "リリース ノートの表示",
"thereIsUpdateAvailable": "利用可能な更新プログラムがあります。",
"updateAvailable": "{0} は再起動後に更新されます。",
"updateNow": "今すぐ更新"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "버전이 일치하지 않습니다. 전역 tsc({0})가 VS 코드의 언어 서비스({1})와 다릅니다. 일관되지 않은 컴파일 오류가 발생할 수 있습니다."
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "속성 `{0}`은(는) 생략할 수 있으며 `string[]` 형식이어야 합니다.",
"extensionDescription.activationEvents2": "속성 `{0}` 및 `{1}`은(는) 둘 다 지정하거나 둘 다 생략해야 합니다.",
"extensionDescription.empty": "가져온 확장 설명이 비어 있습니다.",
"extensionDescription.engines": "속성 `{0}`은(는) 필수이며 `object` 형식이어야 합니다.",
"extensionDescription.engines.vscode": "속성 `{0}`은(는) 필수이며 `string` 형식이어야 합니다.",
"extensionDescription.extensionDependencies": "속성 `{0}`은(는) 생략할 수 있으며 `string[]` 형식이어야 합니다.",
"extensionDescription.main1": "속성 `{0}`은(는) 생략할 수 있으며 `string` 형식이어야 합니다.",
"extensionDescription.main2": "확장의 폴더({1}) 내에 포함할 `main`({0})이 필요합니다. 이로 인해 확장이 이식 불가능한 상태가 될 수 있습니다.",
"extensionDescription.main3": "속성 `{0}` 및 `{1}`은(는) 둘 다 지정하거나 둘 다 생략해야 합니다.",
"extensionDescription.name": "속성 `{0}`은(는) 필수이며 `string` 형식이어야 합니다.",
"extensionDescription.publisher": "속성 `{0}`은(는) 필수이며 `string` 형식이어야 합니다.",
"extensionDescription.version": "속성 `{0}`은(는) 필수이며 `string` 형식이어야 합니다.",
"notSemver": "확장 버전이 semver와 호환되지 않습니다.",
"versionMismatch": "확장이 Code {0}과(와) 호환되지 않습니다. 확장에 {1}이(가) 필요합니다.",
"versionSpecificity1": "`engines.vscode`({0})에 지정된 버전이 명확하지 않습니다. vscode 버전이 1.0.0 이전이면 최소한 원하는 주 버전과 부 버전을 정의하세요( 예: ^0.10.0, 0.10.x, 0.11.0 등).",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "입력",
"patternDescription": "Glob 패턴 사용",
"patternHelpInclude": "일치 패턴입니다. 예: ****/*.js** - 모든 JavaScript 파일을 일치시킵니다. **myFolder/**** - 해당 폴더와 모든 자식을 일치시킵니다.\n\n**참조**:\n*****은 0개 이상의 문자를 일치시킵니다.\n**?**은 1개의 문자를 일치시킵니다.\n******은 0개 이상의 디렉터리를 일치시킵니다.\n**[a-z]**는 문자 범위를 일치시킵니다.\n**{a,b}**는 패턴을 일치시킵니다."
"patternHelpInclude": "일치 패턴입니다. 예: **\\*\\*/*.js** - 모든 JavaScript 파일을 일치시킵니다. **myFolder/\\*\\*** - 해당 폴더와 모든 자식을 일치시킵니다.\n\n**참조**:\n**\\***은 0개 이상의 문자를 일치시킵니다.\n**?**은 1개의 문자를 일치시킵니다.\n**\\*\\***은 0개 이상의 디렉터리를 일치시킵니다.\n**[a-z]**는 문자 범위를 일치시킵니다.\n**{a,b}**는 패턴을 일치시킵니다."
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "로캘 변수가 터미널 시작 시 설정되는지 여부를 제어하며, 기본값은 OS X에서 true이고 기타 플랫폼에서 false입니다.",
"terminal.integrated.shell.linux": "터미널이 Linux에서 사용하는 셸의 경로입니다.",
"terminal.integrated.shell.osx": "터미널이 OS X에서 사용하는 셸의 경로입니다.",
"terminal.integrated.shell.windows": "터미널이 Windows에서 사용하는 셸의 경로입니다. Windows와 함께 제공되는 셸을 사용하는 경우(cmd, PowerShell 또는 Ubuntu의 Bash) 64비트 버전을 사용하려면 C:WindowsSystem32보다 C:Windowssysnative가 더 좋습니다.",
"terminal.integrated.shell.windows": "터미널이 Windows에서 사용하는 셸의 경로입니다. Windows와 함께 제공되는 셸을 사용하는 경우(cmd, PowerShell 또는 Ubuntu의 Bash) 64비트 버전을 사용하려면 C:\\Windows\\System32보다 C:\\Windows\\sysnative가 더 좋습니다.",
"terminal.integrated.shellArgs.linux": "Linux 터미널에 있을 때 사용할 명령줄 인수입니다.",
"terminal.integrated.shellArgs.osx": "OS X 터미널에 있을 때 사용할 명령줄 인수입니다.",
"terminal.integrated.shellArgs.windows": "Windows 터미널에 있을 때 사용할 명령줄 인수입니다.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "참가자 빌드가 매일 릴리스됩니다.",
"license": "라이선스 읽기",
"licenseChanged": "사용 조건이 변경되었습니다. 자세히 읽어보세요.",
"neverShowAgain": "다시 표시 안 함",
"read the release notes": "{0} v{1}을(를) 시작합니다. 릴리스 정보를 확인하시겠습니까?",
"readmore": "자세히 알아보기",
"release notes": "릴리스 정보"
"release notes": "릴리스 정보",
"updateChannel": "업데이트 채널에서 자동 업데이트를 받을지 여부를 구성합니다. 변경 후 다시 시작해야 합니다.",
"updateConfigurationTitle": "업데이트"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "지금 다운로드",
"later": "나중에",
"noUpdatesAvailable": "현재 사용 가능한 업데이트가 없습니다.",
"read the release notes": "{0} v{1}을(를) 시작합니다. 릴리스 정보를 확인하시겠습니까?",
"releaseNotes": "릴리스 정보",
"showReleaseNotes": "릴리스 정보 표시",
"thereIsUpdateAvailable": "사용 가능한 업데이트가 있습니다.",
"updateAvailable": "다시 시작하면 {0}이(가) 업데이트됩니다.",
"updateNow": "지금 업데이트"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"versionMismatch": "Обнаружено несоответствие глобального tsc ({0}) и службы языка VS Code ({1}). Это может привести к ошибкам согласованности компиляции."
}
\ No newline at end of file
......@@ -4,6 +4,18 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"extensionDescription.activationEvents1": "свойство \"{0}\" может быть опущено или должно быть типа \"string []\"",
"extensionDescription.activationEvents2": "оба свойства, \"{0}\" и \"{1}\", должны быть либо указаны, либо опущены",
"extensionDescription.empty": "Пустое описание расширения",
"extensionDescription.engines": "свойство \"{0}\" является обязательным и должно быть типа object",
"extensionDescription.engines.vscode": "свойство \"{0}\" является обязательным и должно иметь тип string",
"extensionDescription.extensionDependencies": "свойство \"{0}\" может быть опущено или должно быть типа \"string []\"",
"extensionDescription.main1": "свойство \"{0}\" может быть опущено или должно иметь тип string",
"extensionDescription.main2": "Ожидается, что функция main ({0}) будет включена в папку расширения ({1}). Из-за этого расширение может стать непереносимым.",
"extensionDescription.main3": "оба свойства, \"{0}\" и \"{1}\", должны быть либо указаны, либо опущены",
"extensionDescription.name": "свойство \"{0}\" является обязательным и должно иметь тип string",
"extensionDescription.publisher": "свойство \"{0}\" является обязательным и должно иметь тип string",
"extensionDescription.version": "свойство \"{0}\" является обязательным и должно иметь тип string",
"notSemver": "Версия расширения несовместима с semver.",
"versionMismatch": "Расширение несовместимо с кодом \"{0}\". Расширению требуется: {1}.",
"versionSpecificity1": "Версия, указанная в engines.vscode ({0}), недостаточно конкретная. Для версий vscode до 1.0.0 укажите по крайней мере основной и дополнительный номер версии. Например, 0.10.0, 0.10.x, 0.11.0 и т. д.",
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
\ No newline at end of file
......@@ -6,5 +6,5 @@
{
"defaultLabel": "ввод",
"patternDescription": "Использовать стандартные маски",
"patternHelpInclude": "Шаблон для сопоставления. Например, ****/*.js** соответствует всем файлам JavaScript, а **myFolder/**** соответствует этой папке со всеми дочерними элементами.\n\n**Ссылка**:\n***** соответствует 0 или более символов\n**?** соответствует 1 символу\n****** соответствует 0 или более каталогов\n**[a-z]** соответствует диапазону символов\n**{a,b}** соответствует любому из шаблонов"
"patternHelpInclude": "Шаблон для сопоставления. Например, **\\*\\*/*.js** соответствует всем файлам JavaScript, а **myFolder/\\*\\*** соответствует этой папке со всеми дочерними элементами.\n\n**Ссылка**:\n**\\*** соответствует 0 или более символов\n**?** соответствует 1 символу\n**\\*\\*** соответствует 0 или более каталогов\n**[a-z]** соответствует диапазону символов\n**{a,b}** соответствует любому из шаблонов"
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"terminal.integrated.setLocaleVariables": "Управляет заданием переменных при запуске терминала, значение по умолчанию: \"True\" для OS X и \"False\" для других платформ.",
"terminal.integrated.shell.linux": "Путь оболочки, который используется терминалом в Linux.",
"terminal.integrated.shell.osx": "Путь оболочки, который используется терминалом в OS X.",
"terminal.integrated.shell.windows": "Путь оболочки, который используется терминалом в Windows. При работе с оболочкой, поставляемой с Windows (cmd, PowerShell или Bash на Ubuntu), укажите C:Windowssysnative вместо C:WindowsSystem32 для использования 64-разрядных версий.",
"terminal.integrated.shell.windows": "Путь оболочки, который используется терминалом в Windows. При работе с оболочкой, поставляемой с Windows (cmd, PowerShell или Bash на Ubuntu), укажите C:\\Windows\\sysnative вместо C:\\Windows\\System32 для использования 64-разрядных версий.",
"terminal.integrated.shellArgs.linux": "Аргументы командной строки, которые следует использовать в терминале Linux.",
"terminal.integrated.shellArgs.osx": "Аргументы командной строки, которые следует использовать в терминале OS X.",
"terminal.integrated.shellArgs.windows": "Аргументы командной строки, используемые в терминале Windows.",
......
......@@ -4,11 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"insiderBuilds": "Ежедневные сборки и выпуски для участников программы предварительной оценки.",
"license": "Прочитать лицензию",
"licenseChanged": "Условия использования лицензии изменились, ознакомьтесь с ними.",
"neverShowAgain": "Больше не показывать",
"read the release notes": "Вас приветствует {0} v{1}! Вы хотите прочитать заметки о выпуске?",
"readmore": "Подробнее",
"release notes": "Заметки о выпуске"
"release notes": "Заметки о выпуске",
"updateChannel": "Настройте канал обновления, по которому вы будете получать обновления. После изменения значения необходим перезапуск.",
"updateConfigurationTitle": "Обновить"
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"downloadNow": "Скачать сейчас",
"later": "Позже",
"noUpdatesAvailable": "В настоящее время нет доступных обновлений.",
"read the release notes": "Вас приветствует {0} v{1}! Вы хотите прочитать заметки о выпуске?",
"releaseNotes": "Заметки о выпуске",
"showReleaseNotes": "Показать заметки о выпуске",
"thereIsUpdateAvailable": "Доступно обновление.",
"updateAvailable": "{0} будет обновлен после перезапуска.",
"updateNow": "Обновить сейчас"
}
\ No newline at end of file
......@@ -42,6 +42,7 @@ export interface IJSONSchema {
defaultSnippets?: { label?: string; description?: string; body: any; }[]; // VSCode extension
errorMessage?: string; // VSCode extension
deprecatedMessage?: string; // VSCode extension
}
export interface IJSONSchemaMap {
......
/*---------------------------------------------------------------------------------------------
* 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 Event, { Emitter } from 'vs/base/common/event';
export class WatchDog {
private _timeout: number;
private _threshold: number;
private _onAlert = new Emitter<this>();
private _handle: number;
private _missed: number;
private _lastSignal: number;
constructor(timeout: number, threshold: number) {
this._timeout = timeout;
this._threshold = threshold;
}
dispose(): void {
this.stop();
}
get onAlert(): Event<this> {
return this._onAlert.event;
}
start(): void {
this.reset();
this._handle = setInterval(this._check.bind(this), this._timeout * 1.5);
}
stop(): void {
clearInterval(this._handle);
}
reset(): void {
this._lastSignal = Date.now();
this._missed = 0;
}
private _check(): void {
if ((Date.now() - this._lastSignal) > this._timeout) {
this._missed += 1;
if (this._missed > this._threshold) {
this._onAlert.fire(this);
this._missed = 0;
}
}
}
}
......@@ -8,7 +8,7 @@
import Event, { Emitter } from 'vs/base/common/event';
import { EventEmitter } from 'events';
export function fromEventEmitter<T>(emitter: EventEmitter, eventName: string, map: (...args: any[]) => T): Event<T> {
export function fromEventEmitter<T>(emitter: EventEmitter, eventName: string, map: (...args: any[]) => T = id => id): Event<T> {
const fn = (...args) => result.fire(map(...args));
const onFirstListenerAdd = () => emitter.on(eventName, fn);
const onLastListenerRemove = () => emitter.removeListener(eventName, fn);
......
......@@ -5,21 +5,13 @@
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { IMessagePassingProtocol } from 'vs/base/parts/ipc/common/ipc';
import Event, { Emitter, chain } from 'vs/base/common/event';
import { fromEventEmitter } from 'vs/base/node/event';
import { ChannelServer as IPCServer, ChannelClient as IPCClient, IChannelServer, IChannelClient, IChannel } from 'vs/base/parts/ipc/common/ipc';
const Hello = 'ipc:hello';
const Goodbye = 'ipc:goodbye';
const Message = 'ipc:message';
import Event, { Emitter } from 'vs/base/common/event';
export interface Sender {
send(channel: string, ...args: any[]): void;
}
export interface IPC extends Sender, NodeJS.EventEmitter { }
class Protocol implements IMessagePassingProtocol {
export class Protocol implements IMessagePassingProtocol {
private listener: IDisposable;
......@@ -33,80 +25,14 @@ class Protocol implements IMessagePassingProtocol {
}
send(message: any): void {
this.sender.send(Message, message);
try {
this.sender.send('ipc:message', message);
} catch (e) {
// systems are going down
}
}
dispose(): void {
this.listener = dispose(this.listener);
}
}
interface IIPCEvent {
event: any;
message: string;
}
export class Server implements IChannelServer, IDisposable {
private channels: { [name: string]: IChannel } = Object.create(null);
constructor(private ipc: NodeJS.EventEmitter) {
ipc.on(Hello, ({ sender }) => this.onHello(sender));
}
registerChannel(channelName: string, channel: IChannel): void {
this.channels[channelName] = channel;
}
private onHello(sender: any): void {
const senderId = sender.getId();
const onMessage = this.createScopedEvent(Message, senderId);
const protocol = new Protocol(sender, onMessage);
const ipcServer = new IPCServer(protocol);
Object.keys(this.channels)
.forEach(name => ipcServer.registerChannel(name, this.channels[name]));
const onGoodbye = this.createScopedEvent(Goodbye, senderId);
const listener = onGoodbye(() => {
listener.dispose();
ipcServer.dispose();
protocol.dispose();
});
}
private createScopedEvent(eventName: string, senderId: string) {
return chain(fromEventEmitter<IIPCEvent>(this.ipc, eventName, (event, message) => ({ event, message })))
.filter(({ event }) => event.sender.getId() === senderId)
.map(({ message }) => message)
.event;
}
dispose(): void {
this.channels = null;
}
}
export class Client implements IChannelClient, IDisposable {
private protocol: Protocol;
private ipcClient: IPCClient;
constructor(private ipc: IPC) {
ipc.send(Hello);
const receiverEvent = fromEventEmitter<string>(ipc, Message, (_, message) => message);
this.protocol = new Protocol(ipc, receiverEvent);
this.ipcClient = new IPCClient(this.protocol);
}
getChannel<T extends IChannel>(channelName: string): T {
return this.ipcClient.getChannel(channelName) as T;
}
dispose(): void {
this.ipc.send(Goodbye);
this.ipcClient = dispose(this.ipcClient);
this.protocol = dispose(this.protocol);
}
}
\ No newline at end of file
......@@ -7,7 +7,7 @@
import { Promise, TPromise } from 'vs/base/common/winjs.base';
import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import Event, { Emitter } from 'vs/base/common/event';
import Event, { Emitter, once, filterEvent } from 'vs/base/common/event';
enum MessageType {
RequestCommon,
......@@ -58,35 +58,59 @@ enum State {
Idle
}
/**
* An `IChannel` is an abstraction over a collection of commands.
* You can `call` several commands on a channel, each taking at
* most one single argument. A `call` always returns a promise
* with at most one single return value.
*/
export interface IChannel {
call(command: string, arg?: any): TPromise<any>;
}
/**
* An `IChannelServer` hosts a collection of channels. You are
* able to register channels onto it, provided a channel name.
*/
export interface IChannelServer {
registerChannel(channelName: string, channel: IChannel): void;
}
/**
* An `IChannelClient` has access to a collection of channels. You
* are able to get those channels, given their channel name.
*/
export interface IChannelClient {
getChannel<T extends IChannel>(channelName: string): T;
}
/**
* An `IClientRouter` is responsible for routing calls to specific
* channels, in scenarios in which there are multiple possible
* channels (each from a separate client) to pick from.
*/
export interface IClientRouter {
routeCall(command: string, arg: any): string;
route(command: string, arg: any): string;
}
/**
* Similar to the `IChannelClient`, you can get channels from this
* collection of channels. The difference being that in the
* `IRoutingChannelClient`, there are multiple clients providing
* the same channel. You'll need to pass in an `IClientRouter` in
* order to pick the right one.
*/
export interface IRoutingChannelClient {
getChannel<T extends IChannel>(channelName: string, router: IClientRouter): T;
}
export class ChannelServer {
export class ChannelServer implements IChannelServer, IDisposable {
private channels: { [name: string]: IChannel };
private activeRequests: { [id: number]: IDisposable; };
private channels: { [name: string]: IChannel } = Object.create(null);
private activeRequests: { [id: number]: IDisposable; } = Object.create(null);
private protocolListener: IDisposable;
constructor(private protocol: IMessagePassingProtocol) {
this.channels = Object.create(null);
this.activeRequests = Object.create(null);
this.protocolListener = this.protocol.onMessage(r => this.onMessage(r));
this.protocol.send(<IRawResponse>{ type: MessageType.ResponseInitialize });
}
......@@ -313,6 +337,120 @@ export class ChannelClient implements IChannelClient, IDisposable {
}
}
export interface ClientConnectionEvent {
protocol: IMessagePassingProtocol;
onDidClientDisconnect: Event<void>;
}
/**
* An `IPCServer` is both a channel server and a routing channel
* client.
*
* As the owner of a protocol, you should extend both this
* and the `IPCClient` classes to get IPC implementations
* for your protocol.
*/
export class IPCServer implements IChannelServer, IRoutingChannelClient, IDisposable {
private channels: { [name: string]: IChannel } = Object.create(null);
private channelClients: { [id: string]: ChannelClient; } = Object.create(null);
private onClientAdded = new Emitter<string>();
constructor(onDidClientConnect: Event<ClientConnectionEvent>) {
onDidClientConnect(({ protocol, onDidClientDisconnect }) => {
const onFirstMessage = once(protocol.onMessage);
onFirstMessage(id => {
const channelServer = new ChannelServer(protocol);
const channelClient = new ChannelClient(protocol);
Object.keys(this.channels)
.forEach(name => channelServer.registerChannel(name, this.channels[name]));
this.channelClients[id] = channelClient;
this.onClientAdded.fire(id);
onDidClientDisconnect(() => {
channelServer.dispose();
channelClient.dispose();
delete this.channelClients[id];
});
});
});
}
getChannel<T extends IChannel>(channelName: string, router: IClientRouter): T {
const call = (command: string, arg: any) => {
const id = router.route(command, arg);
if (!id) {
return TPromise.wrapError('Client id should be provided');
}
return this.getClient(id).then(client => client.getChannel(channelName).call(command, arg));
};
return { call } as T;
}
registerChannel(channelName: string, channel: IChannel): void {
this.channels[channelName] = channel;
}
private getClient(clientId: string): TPromise<IChannelClient> {
const client = this.channelClients[clientId];
if (client) {
return TPromise.as(client);
}
return new TPromise<IChannelClient>(c => {
const onClient = once(filterEvent(this.onClientAdded.event, id => id === clientId));
onClient(() => c(this.channelClients[clientId]));
});
}
dispose(): void {
this.channels = null;
this.channelClients = null;
this.onClientAdded.dispose();
}
}
/**
* An `IPCClient` is both a channel client and a channel server.
*
* As the owner of a protocol, you should extend both this
* and the `IPCClient` classes to get IPC implementations
* for your protocol.
*/
export class IPCClient implements IChannelClient, IChannelServer, IDisposable {
private channelClient: ChannelClient;
private channelServer: ChannelServer;
constructor(protocol: IMessagePassingProtocol, id: string) {
protocol.send(id);
this.channelClient = new ChannelClient(protocol);
this.channelServer = new ChannelServer(protocol);
}
getChannel<T extends IChannel>(channelName: string): T {
return this.channelClient.getChannel(channelName) as T;
}
registerChannel(channelName: string, channel: IChannel): void {
this.channelServer.registerChannel(channelName, channel);
}
dispose(): void {
this.channelClient.dispose();
this.channelClient = null;
this.channelServer.dispose();
this.channelServer = null;
}
}
export function getDelayedChannel<T extends IChannel>(promise: TPromise<T>): T {
const call = (command, arg) => promise.then(c => c.call(command, arg));
return { call } as T;
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { fromEventEmitter } from 'vs/base/node/event';
import { IPCClient } from 'vs/base/parts/ipc/common/ipc';
import { Protocol } from 'vs/base/parts/ipc/common/ipc.electron';
import { ipcRenderer } from 'electron';
export class Client extends IPCClient {
private static createProtocol(): Protocol {
const onMessage = fromEventEmitter<string>(ipcRenderer, 'ipc:message', (_, message) => message);
ipcRenderer.send('ipc:hello');
return new Protocol(ipcRenderer, onMessage);
}
constructor(id: string) {
super(Client.createProtocol(), id);
}
}
\ No newline at end of file
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import Event, { filterEvent, mapEvent } from 'vs/base/common/event';
import { fromEventEmitter } from 'vs/base/node/event';
import { IPCServer, ClientConnectionEvent } from 'vs/base/parts/ipc/common/ipc';
import { Protocol } from 'vs/base/parts/ipc/common/ipc.electron';
import { ipcMain } from 'electron';
interface WebContents extends Electron.WebContents {
getId(): number;
}
interface IIPCEvent {
event: { sender: WebContents; };
message: string;
}
function createScopedOnMessageEvent(senderId: number): Event<any> {
const onMessage = fromEventEmitter<IIPCEvent>(ipcMain, 'ipc:message', (event, message) => ({ event, message }));
const onMessageFromSender = filterEvent(onMessage, ({ event }) => event.sender.getId() === senderId);
return mapEvent(onMessageFromSender, ({ message }) => message);
}
export class Server extends IPCServer {
private static getOnDidClientConnect(): Event<ClientConnectionEvent> {
const onHello = fromEventEmitter<WebContents>(ipcMain, 'ipc:hello', ({ sender }) => sender);
return mapEvent(onHello, webContents => {
const onMessage = createScopedOnMessageEvent(webContents.getId());
const protocol = new Protocol(webContents, onMessage);
const onDidClientDisconnect = fromEventEmitter<void>(webContents, 'destroyed');
return { protocol, onDidClientDisconnect };
});
}
constructor() {
super(Server.getOnDidClientConnect());
}
}
......@@ -7,10 +7,9 @@
import { Socket, Server as NetServer, createConnection, createServer } from 'net';
import { TPromise } from 'vs/base/common/winjs.base';
import { IDisposable } from 'vs/base/common/lifecycle';
import Event, { Emitter, once } from 'vs/base/common/event';
import Event, { Emitter, once, mapEvent } from 'vs/base/common/event';
import { fromEventEmitter } from 'vs/base/node/event';
import { ChannelServer, ChannelClient, IMessagePassingProtocol, IChannelServer, IChannelClient, IRoutingChannelClient, IClientRouter, IChannel } from 'vs/base/parts/ipc/common/ipc';
import { IMessagePassingProtocol, ClientConnectionEvent, IPCServer, IPCClient } from 'vs/base/parts/ipc/common/ipc';
function bufferIndexOf(buffer: Buffer, value: number, start = 0) {
while (start < buffer.length && buffer[start] !== value) {
......@@ -73,141 +72,42 @@ class Protocol implements IMessagePassingProtocol {
}
}
class RoutingChannelClient implements IRoutingChannelClient, IDisposable {
export class Server extends IPCServer {
private ipcClients: { [id: string]: ChannelClient; };
private onClientAdded = new Emitter();
private static toClientConnectionEvent(server: NetServer): Event<ClientConnectionEvent> {
const onConnection = fromEventEmitter<Socket>(server, 'connection');
constructor() {
this.ipcClients = Object.create(null);
return mapEvent(onConnection, socket => ({
protocol: new Protocol(socket),
onDidClientDisconnect: once(fromEventEmitter<void>(socket, 'close'))
}));
}
add(id: string, client: ChannelClient): void {
this.ipcClients[id] = client;
this.onClientAdded.fire();
}
remove(id: string): void {
delete this.ipcClients[id];
}
private getClient(clientId: string): TPromise<IChannelClient> {
const getClientFn = (clientId: string, c: (client: IChannelClient) => void): boolean => {
let client = this.ipcClients[clientId];
if (client) {
c(client);
return true;
}
return false;
};
return new TPromise<IChannelClient>((c, e) => {
if (!getClientFn(clientId, c)) {
let disposable = this.onClientAdded.event(() => {
if (getClientFn(clientId, c)) {
disposable.dispose();
}
});
}
});
}
getChannel<T extends IChannel>(channelName: string, router: IClientRouter): T {
const call = (command: string, arg: any) => {
const id = router.routeCall(command, arg);
if (!id) {
return TPromise.wrapError('Client id should be provided');
}
return this.getClient(id).then(client => client.getChannel(channelName).call(command, arg));
};
return { call } as T;
}
dispose() {
this.ipcClients = null;
this.onClientAdded.dispose();
}
}
// TODO@joao: move multi channel implementation down to ipc
export class Server implements IChannelServer, IRoutingChannelClient, IDisposable {
private channels: { [name: string]: IChannel };
private router: RoutingChannelClient;
constructor(private server: NetServer) {
this.channels = Object.create(null);
this.router = new RoutingChannelClient();
this.server.on('connection', (socket: Socket) => {
const protocol = new Protocol(socket);
const onFirstMessage = once(protocol.onMessage);
onFirstMessage(id => {
const channelServer = new ChannelServer(protocol);
Object.keys(this.channels)
.forEach(name => channelServer.registerChannel(name, this.channels[name]));
const channelClient = new ChannelClient(protocol);
this.router.add(id, channelClient);
socket.once('close', () => {
channelClient.dispose();
this.router.remove(id);
channelServer.dispose();
});
});
});
}
getChannel<T extends IChannel>(channelName: string, router: IClientRouter): T {
return this.router.getChannel<T>(channelName, router);
}
registerChannel(channelName: string, channel: IChannel): void {
this.channels[channelName] = channel;
super(Server.toClientConnectionEvent(server));
}
dispose(): void {
this.router.dispose();
this.router = null;
this.channels = null;
super.dispose();
this.server.close();
this.server = null;
}
}
export class Client implements IChannelClient, IChannelServer, IDisposable {
private channelClient: ChannelClient;
private channelServer: ChannelServer;
export class Client extends IPCClient {
private _onClose = new Emitter<void>();
get onClose(): Event<void> { return this._onClose.event; }
constructor(private socket: Socket, id: string) {
const protocol = new Protocol(socket);
protocol.send(id);
this.channelClient = new ChannelClient(protocol);
this.channelServer = new ChannelServer(protocol);
super(new Protocol(socket), id);
socket.once('close', () => this._onClose.fire());
}
getChannel<T extends IChannel>(channelName: string): T {
return this.channelClient.getChannel(channelName) as T;
}
registerChannel(channelName: string, channel: IChannel): void {
this.channelServer.registerChannel(channelName, channel);
}
dispose(): void {
super.dispose();
this.socket.end();
this.socket = null;
this.channelClient = null;
this.channelServer.dispose();
this.channelServer = null;
}
}
......
......@@ -5,20 +5,17 @@
'use strict';
import * as assert from 'assert';
import { Brackets } from 'vs/editor/common/modes/supports/electricCharacter';
import { createLineContextFromTokenText } from 'vs/editor/test/common/modesTestUtils';
import { WatchDog } from 'vs/base/common/watchDog';
suite('Editor Modes - Auto Indentation', () => {
test('Doc comments', () => {
var brackets = new Brackets('test', null, [{ open: '/**', close: ' */' }]);
suite('WatchDog', function () {
assert.equal(brackets.onElectricCharacter(createLineContextFromTokenText([
{ text: '/**', type: 'doc' },
]), 2).appendText, ' */');
assert.equal(brackets.onElectricCharacter(createLineContextFromTokenText([
{ text: '/**', type: 'doc' },
{ text: ' ', type: 'doc' },
{ text: '*/', type: 'doc' },
]), 2), null);
test('start/stop', function (done) {
const dog = new WatchDog(10, 1);
dog.onAlert(e => {
dog.stop();
assert.ok(e === dog);
done();
});
dog.start();
});
});
此差异已折叠。
......@@ -5,7 +5,7 @@
'use strict';
import { IWindowsService } from 'vs/code/electron-main/windows';
import { IWindowsMainService } from 'vs/code/electron-main/windows';
import { VSCodeWindow } from 'vs/code/electron-main/window';
import { TPromise } from 'vs/base/common/winjs.base';
import { IChannel } from 'vs/base/parts/ipc/common/ipc';
......@@ -63,7 +63,7 @@ export class LaunchService implements ILaunchService {
constructor(
@ILogService private logService: ILogService,
@IWindowsService private windowsService: IWindowsService,
@IWindowsMainService private windowsService: IWindowsMainService,
@IURLService private urlService: IURLService
) { }
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册