Merge branch 'master' into dirtydiff

This commit is contained in:
Joao Moreno committed 2017-10-11 10:10:12 +02:00
commit a92ff5dffa
477 files changed
+15283 -8514

No files matched your search

+2 -2
View File
@@ -7,7 +7,7 @@
api: [],
css-less-sass: [],
debug: [ isidorn ],
editor: [ alexandrudima ],
editor: [],
editor-brackets: [],
editor-clipboard: [ rebornix ],
editor-colors: [],
@@ -39,7 +39,7 @@
php: [ roblourens ],
search: [ roblourens ],
snippets: [ jrieken ],
tasks: [],
tasks: [ dbaeumer ],
typescript: [ mjbvz ],
workbench: [ bpasero, isidorn, sandy081]
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
newReleaseLabel: 'new release',
newReleases: ['1.16'],
newReleases: ['1.17'],
perform: false
}
+1
View File
@@ -94,6 +94,7 @@ const copyrightFilter = [
'!**/*.opts',
'!**/*.disabled',
'!build/**/*.init',
'!resources/linux/snap/snapcraft.yaml',
'!resources/win32/bin/code.js',
'!extensions/markdown/media/tomorrow.css',
'!extensions/html/server/src/modes/typescript/*'
+8 -2
View File
@@ -45,8 +45,8 @@ const nodeModules = ['electron', 'original-fs']
// Build
const builtInExtensions = [
{ name: 'ms-vscode.node-debug', version: '1.17.17' },
{ name: 'ms-vscode.node-debug2', version: '1.17.5' }
{ name: 'ms-vscode.node-debug', version: '1.17.18' },
{ name: 'ms-vscode.node-debug2', version: '1.18.1' }
];
const excludedExtensions = [
@@ -449,6 +449,12 @@ gulp.task('upload-vscode-sourcemaps', ['minify-vscode'], () => {
const allConfigDetailsPath = path.join(os.tmpdir(), 'configuration.json');
gulp.task('upload-vscode-configuration', ['generate-vscode-configuration'], () => {
const branch = process.env.BUILD_SOURCEBRANCH;
if (!branch.endsWith('/master') && !branch.indexOf('/release/') >= 0) {
console.log(`Only runs on master and release branches, not ${branch}`);
return;
}
if (!fs.existsSync(allConfigDetailsPath)) {
console.error(`configuration file at ${allConfigDetailsPath} does not exist`);
return;
+4 -4
View File
@@ -13,10 +13,10 @@
"url": "https://github.com/Microsoft/vscode/issues"
},
"devDependencies": {
"@types/minimist": "^1.2.0",
"@types/mocha": "^2.2.39",
"@types/semver": "^5.3.30",
"@types/sinon": "^1.16.34",
"@types/minimist": "1.2.0",
"@types/mocha": "2.2.39",
"@types/semver": "5.3.30",
"@types/sinon": "1.16.34",
"debounce": "^1.0.0",
"eslint": "^3.4.0",
"event-stream": "^3.1.7",
+6 -6
View File
@@ -2,13 +2,13 @@
"name": "code-oss-dev-build",
"version": "1.0.0",
"devDependencies": {
"@types/azure": "^0.9.18",
"@types/documentdb": "^1.10.1",
"@types/es6-collections": "^0.5.30",
"@types/es6-promise": "0.0.32",
"@types/azure": "0.9.19",
"@types/documentdb": "1.10.2",
"@types/es6-collections": "0.5.31",
"@types/es6-promise": "0.0.33",
"@types/mime": "0.0.29",
"@types/node": "^7.0.13",
"@types/xml2js": "^0.0.33",
"@types/node": "8.0.33",
"@types/xml2js": "0.0.33",
"azure-storage": "^2.1.0",
"documentdb": "^1.11.0",
"mime": "^1.3.4",
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
set -e
# set agent specific npm cache
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
set -e
# setup nvm
+1 -1
View File
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
#!/bin/bash
set -e
./build/tfs/linux/build.sh ia32 "$@"
+1 -1
View File
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
#!/bin/bash
set -e
./build/tfs/linux/build.sh x64 "$@"
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
. ./build/tfs/common/node.sh
. ./scripts/env.sh
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
if [ ! -f pat ]; then
echo "Error: file pat not found"
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
#
# /etc/rc.d/init.d/xvfbd
#
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
. ./scripts/env.sh
. ./build/tfs/common/common.sh
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
set -e
. ./build/tfs/common/node.sh
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
if [ ! -f pat ]; then
echo "Error: file pat not found"
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/bin/bash
#
# /etc/rc.d/init.d/xvfbd
#
@@ -43,9 +43,9 @@ export class SettingsDocument {
private provideWindowTitleCompletionItems(location: Location, range: vscode.Range): vscode.ProviderResult<vscode.CompletionItem[]> {
const completions: vscode.CompletionItem[] = [];
completions.push(this.newSimpleCompletionItem('${activeEditorShort}', range, localize('activeEditorShort', "e.g. the file name (myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${activeEditorMedium}', range, localize('activeEditorMedium', "e.g. the path of the file relative to the workspace folder (myFolder/myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${activeEditorLong}', range, localize('activeEditorLong', "e.g. the full path of the file (/Users/Development/myProject/myFolder/myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${activeEditorShort}', range, localize('activeEditorShort', "the file name (e.g. myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${activeEditorMedium}', range, localize('activeEditorMedium', "the path of the file relative to the workspace folder (e.g. myFolder/myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${activeEditorLong}', range, localize('activeEditorLong', "the full path of the file (e.g. /Users/Development/myProject/myFolder/myFile.txt)")));
completions.push(this.newSimpleCompletionItem('${rootName}', range, localize('rootName', "name of the workspace (e.g. myFolder or myWorkspace)")));
completions.push(this.newSimpleCompletionItem('${rootPath}', range, localize('rootPath', "file path of the workspace (e.g. /Users/Development/myWorkspace)")));
completions.push(this.newSimpleCompletionItem('${folderName}', range, localize('folderName', "name of the workspace folder the file is contained in (e.g. myFolder)")));
+11 -11
View File
@@ -780,7 +780,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -860,7 +860,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1013,7 +1013,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1050,7 +1050,7 @@
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1110,7 +1110,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1147,7 +1147,7 @@
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1194,7 +1194,7 @@
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1253,7 +1253,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1355,7 +1355,7 @@
},
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1444,7 +1444,7 @@
"end": "(?=^\\s*((#)\\s*endif\\b))",
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -1531,7 +1531,7 @@
"end": "(?=^\\s*((#)\\s*endif\\b))",
"patterns": [
{
"begin": "\\G",
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
"name": "meta.preprocessor.c",
"patterns": [
@@ -100,24 +100,24 @@
},
{
"c": "#",
"t": "source.cpp meta.preprocessor.c",
"t": "source.cpp meta.preprocessor.c keyword.control.directive.conditional.c punctuation.definition.directive.c",
"r": {
"dark_plus": "meta.preprocessor: #569CD6",
"light_plus": "meta.preprocessor: #0000FF",
"dark_vs": "meta.preprocessor: #569CD6",
"light_vs": "meta.preprocessor: #0000FF",
"hc_black": "meta.preprocessor: #569CD6"
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
"dark_vs": "keyword.control: #569CD6",
"light_vs": "keyword.control: #0000FF",
"hc_black": "keyword.control: #C586C0"
}
},
{
"c": "endif",
"t": "source.cpp meta.preprocessor.c entity.name.function.preprocessor.c",
"t": "source.cpp meta.preprocessor.c keyword.control.directive.conditional.c",
"r": {
"dark_plus": "entity.name.function: #DCDCAA",
"light_plus": "entity.name.function: #795E26",
"dark_vs": "meta.preprocessor: #569CD6",
"light_vs": "meta.preprocessor: #0000FF",
"hc_black": "entity.name.function: #DCDCAA"
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
"dark_vs": "keyword.control: #569CD6",
"light_vs": "keyword.control: #0000FF",
"hc_black": "keyword.control: #C586C0"
}
}
]
+3 -3
View File
@@ -38,9 +38,9 @@
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz"
},
"vscode-emmet-helper": {
"version": "1.1.13",
"from": "vscode-emmet-helper@>=1.1.13 <2.0.0",
"resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.1.13.tgz"
"version": "1.1.14",
"from": "vscode-emmet-helper@>=1.1.14 <2.0.0",
"resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.1.14.tgz"
},
"vscode-languageserver-types": {
"version": "3.3.0",
+2 -2
View File
@@ -262,14 +262,14 @@
"compile": "gulp compile-extension:emmet"
},
"devDependencies": {
"@types/node": "^7.0.4",
"@types/node": "7.0.43",
"vscode": "1.0.1"
},
"dependencies": {
"@emmetio/html-matcher": "^0.3.1",
"@emmetio/css-parser": "ramya-rao-a/css-parser#vscode",
"@emmetio/math-expression": "^0.1.1",
"vscode-emmet-helper": "^1.1.13",
"vscode-emmet-helper": "^1.1.14",
"vscode-languageserver-types": "^3.0.3",
"image-size": "^0.5.2",
"vscode-nls": "2.0.2"
@@ -24,8 +24,8 @@
"folding": {
"offSide": true,
"markers": {
"start": "^\\s*//#region",
"end": "^\\s*//#endregion"
"start": "^\\s*//\\s*#region|^\\s*\\(\\*\\s*#region(.*)\\*\\)",
"end": "^\\s*//\\s*#endregion|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)"
}
}
}
+22 -2
View File
@@ -803,7 +803,27 @@
"default": false
}
}
}
},
"colors": [
{
"id": "git.color.modified",
"description": "Color for modified resources",
"defaults": {
"light": "#007BD0",
"dark": "#1B80B2",
"highContrast": "#1B80B2"
}
},
{
"id": "git.color.untracked",
"description": "Color for untracked resources",
"defaults": {
"light": "#6C6C6C",
"dark": "#6C6C6C",
"highContrast": "#6C6C6C"
}
}
]
},
"dependencies": {
"byline": "^5.0.0",
@@ -816,4 +836,4 @@
"@types/node": "7.0.43",
"mocha": "^3.2.0"
}
}
}
+23 -9
View File
@@ -342,21 +342,35 @@ export class CommandCenter {
@command('git.init')
async init(): Promise<void> {
const value = workspace.workspaceFolders && workspace.workspaceFolders.length > 0
? workspace.workspaceFolders[0].uri.fsPath
: os.homedir();
const homeUri = Uri.file(os.homedir());
const defaultUri = workspace.workspaceFolders && workspace.workspaceFolders.length > 0
? Uri.file(workspace.workspaceFolders[0].uri.fsPath)
: homeUri;
const path = await window.showInputBox({
placeHolder: localize('path to init', "Folder path"),
prompt: localize('provide path', "Please provide a folder path to initialize a Git repository"),
value,
ignoreFocusOut: true
const result = await window.showOpenDialog({
canSelectFiles: false,
canSelectFolders: true,
canSelectMany: false,
defaultUri,
openLabel: localize('init repo', "Initialize Repository")
});
if (!path) {
if (!result || result.length === 0) {
return;
}
const uri = result[0];
if (homeUri.toString().startsWith(uri.toString())) {
const yes = localize('create repo', "Initialize Repository");
const answer = await window.showWarningMessage(localize('are you sure', "This will create a Git repository in '{0}'. Are you sure you want to continue?", uri.fsPath), yes);
if (answer !== yes) {
return;
}
}
const path = uri.fsPath;
await this.git.init(path);
await this.model.tryOpenRepository(path);
}
+5 -2
View File
@@ -82,7 +82,7 @@ export class GitContentProvider {
const cacheKey = uri.toString();
const timestamp = new Date().getTime();
const cacheValue = { uri, timestamp };
const cacheValue: CacheRow = { uri, timestamp };
this.cache[cacheKey] = cacheValue;
@@ -108,7 +108,10 @@ export class GitContentProvider {
Object.keys(this.cache).forEach(key => {
const row = this.cache[key];
const isOpen = window.visibleTextEditors.some(e => e.document.toString() === row.uri.toString());
const { path } = fromGitUri(row.uri);
const isOpen = workspace.textDocuments
.filter(d => d.uri.scheme === 'file')
.some(d => d.uri.fsPath === path);
if (isOpen || now - row.timestamp < THREE_MINUTES) {
cache[row.uri.toString()] = row;
+18 -27
View File
@@ -13,7 +13,6 @@ import { EventEmitter } from 'events';
import iconv = require('iconv-lite');
import { assign, uniqBy, groupBy, denodeify, IDisposable, toDisposable, dispose, mkdirp } from './util';
const readdir = denodeify<string[]>(fs.readdir);
const readfile = denodeify<string>(fs.readFile);
export interface IGit {
@@ -118,26 +117,11 @@ function findSystemGitWin32(base: string): Promise<IGit> {
return findSpecificGit(path.join(base, 'Git', 'cmd', 'git.exe'));
}
function findGitHubGitWin32(): Promise<IGit> {
const github = path.join(process.env['LOCALAPPDATA'], 'GitHub');
return readdir(github).then(children => {
const git = children.filter(child => /^PortableGit/.test(child))[0];
if (!git) {
return Promise.reject<IGit>('Not found');
}
return findSpecificGit(path.join(github, git, 'cmd', 'git.exe'));
});
}
function findGitWin32(): Promise<IGit> {
return findSystemGitWin32(process.env['ProgramW6432'])
.then(void 0, () => findSystemGitWin32(process.env['ProgramFiles(x86)']))
.then(void 0, () => findSystemGitWin32(process.env['ProgramFiles']))
.then(void 0, () => findSpecificGit('git'))
.then(void 0, () => findGitHubGitWin32());
.then(void 0, () => findSpecificGit('git'));
}
export function findGit(hint: string | undefined): Promise<IGit> {
@@ -174,7 +158,13 @@ function cpErrorHandler(cb: (reason?: any) => void): (reason?: any) => void {
};
}
async function exec(child: cp.ChildProcess, options: any = {}): Promise<IExecutionResult> {
export interface SpawnOptions extends cp.SpawnOptions {
input?: string;
encoding?: string;
log?: boolean;
}
async function exec(child: cp.ChildProcess, options: SpawnOptions = {}): Promise<IExecutionResult> {
if (!child.stdout || !child.stderr) {
throw new GitError({
message: 'Failed to get stdout or stderr from git process.'
@@ -365,17 +355,17 @@ export class Git {
return path.normalize(result.stdout.trim());
}
async exec(cwd: string, args: string[], options: any = {}): Promise<IExecutionResult> {
async exec(cwd: string, args: string[], options: SpawnOptions = {}): Promise<IExecutionResult> {
options = assign({ cwd }, options || {});
return await this._exec(args, options);
}
stream(cwd: string, args: string[], options: any = {}): cp.ChildProcess {
stream(cwd: string, args: string[], options: SpawnOptions = {}): cp.ChildProcess {
options = assign({ cwd }, options || {});
return this.spawn(args, options);
}
private async _exec(args: string[], options: any = {}): Promise<IExecutionResult> {
private async _exec(args: string[], options: SpawnOptions = {}): Promise<IExecutionResult> {
const child = this.spawn(args, options);
if (options.input) {
@@ -402,7 +392,7 @@ export class Git {
return result;
}
spawn(args: string[], options: any = {}): cp.ChildProcess {
spawn(args: string[], options: SpawnOptions = {}): cp.ChildProcess {
if (!this.gitPath) {
throw new Error('git could not be found in the system.');
}
@@ -520,19 +510,19 @@ export class Repository {
}
// TODO@Joao: rename to exec
async run(args: string[], options: any = {}): Promise<IExecutionResult> {
async run(args: string[], options: SpawnOptions = {}): Promise<IExecutionResult> {
return await this.git.exec(this.repositoryRoot, args, options);
}
stream(args: string[], options: any = {}): cp.ChildProcess {
stream(args: string[], options: SpawnOptions = {}): cp.ChildProcess {
return this.git.stream(this.repositoryRoot, args, options);
}
spawn(args: string[], options: any = {}): cp.ChildProcess {
spawn(args: string[], options: SpawnOptions = {}): cp.ChildProcess {
return this.git.spawn(args, options);
}
async config(scope: string, key: string, value: any, options: any): Promise<string> {
async config(scope: string, key: string, value: any, options: SpawnOptions): Promise<string> {
const args = ['config'];
if (scope) {
@@ -898,7 +888,8 @@ export class Repository {
getStatus(limit = 5000): Promise<{ status: IFileStatus[]; didHitLimit: boolean; }> {
return new Promise<{ status: IFileStatus[]; didHitLimit: boolean; }>((c, e) => {
const parser = new GitStatusParser();
const child = this.stream(['status', '-z', '-u']);
const env = { GIT_OPTIONAL_LOCKS: '0' };
const child = this.stream(['status', '-z', '-u'], { env });
const onExit = exitCode => {
if (exitCode !== 0) {
+15 -2
View File
@@ -5,7 +5,7 @@
'use strict';
import { Uri, Command, EventEmitter, Event, scm, SourceControl, SourceControlInputBox, SourceControlResourceGroup, SourceControlResourceState, SourceControlResourceDecorations, Disposable, ProgressLocation, window, workspace, WorkspaceEdit } from 'vscode';
import { Uri, Command, EventEmitter, Event, scm, SourceControl, SourceControlInputBox, SourceControlResourceGroup, SourceControlResourceState, SourceControlResourceDecorations, Disposable, ProgressLocation, window, workspace, WorkspaceEdit, ThemeColor } from 'vscode';
import { Repository as BaseRepository, Ref, Branch, Remote, Commit, GitErrorCodes, Stash, RefType } from './git';
import { anyEvent, filterEvent, eventToPromise, dispose, find } from './util';
import { memoize, throttle, debounce } from './decorators';
@@ -170,14 +170,27 @@ export class Resource implements SourceControlResourceState {
// return this.resourceUri.fsPath.substr(0, workspaceRootPath.length) !== workspaceRootPath;
}
private get color(): ThemeColor | undefined {
switch (this.type) {
case Status.INDEX_MODIFIED:
case Status.MODIFIED:
return new ThemeColor('git.color.modified');
case Status.UNTRACKED:
return new ThemeColor('git.color.untracked');
default:
return undefined;
}
}
get decorations(): SourceControlResourceDecorations {
const light = { iconPath: this.getIconPath('light') };
const dark = { iconPath: this.getIconPath('dark') };
const tooltip = this.tooltip;
const strikeThrough = this.strikeThrough;
const faded = this.faded;
const color = this.color;
return { strikeThrough, faded, tooltip, light, dark };
return { strikeThrough, faded, tooltip, light, dark, color };
}
constructor(
+1 -1
View File
@@ -132,6 +132,6 @@
]
},
"devDependencies": {
"@types/node": "^7.0.4"
"@types/node": "8.0.33"
}
}
@@ -22,6 +22,16 @@
],
"description": "For Loop"
},
"For Loop (let)": {
"prefix": "forl",
"body": [
"for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
"\tlet ${3:element} = ${2:array}[${1:index}];",
"\t$0",
"}"
],
"description": "For Loop (let)"
},
"For-Each Loop": {
"prefix": "foreach",
"body": [
@@ -43,6 +53,15 @@
],
"description": "For-In Loop"
},
"For-Of Loop": {
"prefix": "forof",
"body": [
"for (let ${1:iterator} of ${2:object}) {",
"\t$0",
"}"
],
"description": "For-Of Loop"
},
"Function Statement": {
"prefix": "function",
"body": [
@@ -22,6 +22,16 @@
],
"description": "For Loop"
},
"For Loop (let)": {
"prefix": "forl",
"body": [
"for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
"\tlet ${3:element} = ${2:array}[${1:index}];",
"\t$0",
"}"
],
"description": "For Loop (let)"
},
"For-Each Loop": {
"prefix": "foreach",
"body": [
@@ -43,6 +53,15 @@
],
"description": "For-In Loop"
},
"For-Of Loop": {
"prefix": "forof",
"body": [
"for (let ${1:iterator} of ${2:object}) {",
"\t$0",
"}"
],
"description": "For-Of Loop"
},
"Function Statement": {
"prefix": "function",
"body": [
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -299,9 +299,9 @@
"vscode-nls": "2.0.2"
},
"devDependencies": {
"@types/highlight.js": "^9.1.9",
"@types/highlight.js": "9.1.10",
"@types/markdown-it": "0.0.2",
"@types/node": "^7.0.4",
"@types/node": "8.0.33",
"gulp-rename": "^1.2.2",
"gulp-replace": "^0.5.4"
}
+1 -1
View File
@@ -88,6 +88,6 @@
"vscode-nls": "^2.0.2"
},
"devDependencies": {
"@types/node": "^7.0.4"
"@types/node": "8.0.33"
}
}
@@ -89,7 +89,7 @@
},
{
"c": "foreach",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php keyword.control.foreach.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -210,7 +210,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -430,7 +430,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.html source.js meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -298,7 +298,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -353,7 +353,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -1057,7 +1057,7 @@
},
{
"c": "for",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.for.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -1134,7 +1134,7 @@
},
{
"c": "0",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -1222,7 +1222,7 @@
},
{
"c": "52",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -1310,7 +1310,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -1629,7 +1629,7 @@
},
{
"c": "if",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.if.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -1794,7 +1794,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -1871,7 +1871,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -1893,7 +1893,7 @@
},
{
"c": "else",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.else.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -1915,7 +1915,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -2245,7 +2245,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -2267,7 +2267,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -2487,7 +2487,7 @@
},
{
"c": "51",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -2685,7 +2685,7 @@
},
{
"c": "for",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.for.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -2773,7 +2773,7 @@
},
{
"c": "0",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -2861,7 +2861,7 @@
},
{
"c": "52",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -2949,7 +2949,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -2971,7 +2971,7 @@
},
{
"c": "if",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.php",
"t": "text.html.php meta.embedded.block.php source.php keyword.control.if.php",
"r": {
"dark_plus": "keyword.control: #C586C0",
"light_plus": "keyword.control: #AF00DB",
@@ -3059,7 +3059,7 @@
},
{
"c": "52",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -3092,7 +3092,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -3169,7 +3169,7 @@
},
{
"c": "0",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.php",
"t": "text.html.php meta.embedded.block.php source.php constant.numeric.decimal.php",
"r": {
"dark_plus": "constant.numeric: #B5CEA8",
"light_plus": "constant.numeric: #09885A",
@@ -3202,7 +3202,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -3444,7 +3444,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -3521,7 +3521,7 @@
},
{
"c": "{",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.begin.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.begin.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -3532,7 +3532,7 @@
},
{
"c": "}",
"t": "text.html.php meta.embedded.block.php source.php punctuation.section.scope.end.php",
"t": "text.html.php meta.embedded.block.php source.php punctuation.definition.end.bracket.curly.php",
"r": {
"dark_plus": "meta.embedded: #D4D4D4",
"light_plus": "meta.embedded: #000000",
@@ -23,6 +23,10 @@
["'", "'"]
],
"folding": {
"offSide": true
"offSide": true,
"markers": {
"start": "^\\s*#region",
"end": "^\\s*#endregion"
}
}
}
}
@@ -6,14 +6,14 @@
var updateGrammar = require('../../../build/npm/update-grammar');
function adaptToJavaScript(grammar) {
function adaptToJavaScript(grammar, replacementScope) {
grammar.name = 'JavaScript (with React support)';
grammar.fileTypes = ['.js', '.jsx', '.es6', '.mjs' ];
grammar.scopeName = 'source.js';
grammar.scopeName = `source${replacementScope}`;
var fixScopeNames = function(rule) {
if (typeof rule.name === 'string') {
rule.name = rule.name.replace(/\.tsx/g, '.js');
rule.name = rule.name.replace(/\.tsx/g, replacementScope);
}
for (var property in rule) {
var value = rule[property];
@@ -32,7 +32,9 @@ function adaptToJavaScript(grammar) {
var tsGrammarRepo = 'Microsoft/TypeScript-TmLanguage';
updateGrammar.update(tsGrammarRepo, 'TypeScript.tmLanguage', './syntaxes/TypeScript.tmLanguage.json');
updateGrammar.update(tsGrammarRepo, 'TypeScriptReact.tmLanguage', './syntaxes/TypeScriptReact.tmLanguage.json');
updateGrammar.update(tsGrammarRepo, 'TypeScriptReact.tmLanguage', '../javascript/syntaxes/JavaScript.tmLanguage.json', adaptToJavaScript);
updateGrammar.update(tsGrammarRepo, 'TypeScriptReact.tmLanguage', '../javascript/syntaxes/JavaScript.tmLanguage.json', grammar => adaptToJavaScript(grammar, '.js'));
updateGrammar.update(tsGrammarRepo, 'TypeScriptReact.tmLanguage', '../javascript/syntaxes/JavaScriptReact.tmLanguage.json', grammar => adaptToJavaScript(grammar, '.js.jsx'));
+2 -2
View File
@@ -17,8 +17,8 @@
"vscode-nls": "2.0.1"
},
"devDependencies": {
"@types/node": "^7.0.4",
"@types/semver": "^5.3.30"
"@types/node": "8.0.33",
"@types/semver": "5.4.0"
},
"scripts": {
"vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:typescript ./tsconfig.json",
@@ -177,7 +177,7 @@ export default class TypeScriptCompletionItemProvider implements CompletionItemP
if (context.triggerCharacter === '"' || context.triggerCharacter === '\'') {
// make sure we are in something that looks like the start of an import
const line = document.lineAt(position.line).text.slice(0, position.character);
if (!line.match(/\bfrom\s*["']$/) && !line.match(/\b(import|require)\(['"]$/)) {
if (!line.match(/\b(from|import)\s*["']$/) && !line.match(/\b(import|require)\(['"]$/)) {
return Promise.resolve<CompletionItem[]>([]);
}
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -97,7 +97,7 @@ suite('workspace-namespace', () => {
});
});
test('openTextDocument, untitled closes on save', function (done) {
test('openTextDocument, untitled closes on save', function () {
const path = join(vscode.workspace.rootPath || '', './newfile.txt');
return vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + path)).then(doc => {
@@ -115,7 +115,7 @@ suite('workspace-namespace', () => {
d0.dispose();
return deleteFile(vscode.Uri.file(join(vscode.workspace.rootPath || '', './newfile.txt'))).then(() => done(null));
return deleteFile(vscode.Uri.file(join(vscode.workspace.rootPath || '', './newfile.txt')));
});
});
@@ -483,7 +483,7 @@ suite('workspace-namespace', () => {
assert.equal(res.length, 1);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'far.js');
});
}).timeout(60 * 1000); // Increase timeout for search-based test
});
// TODO@Joh this test fails randomly
// test('findFiles, cancellation', () => {
@@ -8,7 +8,7 @@
"links.navigate": "Ctrl + 单击以跟踪链接",
"links.command.mac": "Cmd + 单击以执行命令",
"links.command": "Ctrl + 单击以执行命令",
"links.navigate.al": "Alt + 单击以访问链接",
"links.navigate.al": "按住 Alt 并单击可访问链接",
"links.command.al": "Alt + 单击以执行命令",
"invalid.url": "抱歉,无法打开此链接,因为其格式不正确: {0}",
"missing.url": "抱歉,无法打开此链接,因为其目标丢失。",
@@ -20,6 +20,7 @@
"menus.editorTabContext": "编辑器选项卡上下文菜单",
"menus.debugCallstackContext": "调试调用堆栈上下文菜单",
"menus.scmTitle": "源代码管理标题菜单",
"menus.scmSourceControl": "源代码管理菜单",
"menus.resourceGroupContext": "源代码管理资源组上下文菜单",
"menus.resourceStateContext": "源代码管理资源状态上下文菜单",
"view.viewTitle": "提供的视图的标题菜单",
@@ -13,5 +13,7 @@
"vscode.extension.contributes.views": "向编辑器提供视图",
"views.explorer": "资源管理器视图",
"views.debug": "调试视图",
"locationId.invalid": "“{0}”为无效视图位置"
"locationId.invalid": "“{0}”为无效视图位置",
"duplicateView1": "无法在位置“{1}”注册多个 ID 同为“{0}”的视图。",
"duplicateView2": "ID 为“{0}”的视图在位置“{1}”已被注册"
}
@@ -11,6 +11,7 @@
"endOfLineLineFeed": "LF",
"endOfLineCarriageReturnLineFeed": "CRLF",
"tabFocusModeEnabled": "按 Tab 移动焦点",
"screenReaderDetected": "已为屏幕阅读器优化",
"screenReaderDetectedExtra": "如果你没有使用屏幕阅读器,请将设置中的“editor.accessibilitySupport”改为“off”。",
"disableTabMode": "禁用辅助功能模式",
"gotoLine": "转到行",
@@ -47,8 +48,10 @@
"guessedEncoding": "通过内容猜测",
"pickEncodingForReopen": "选择文件编码以重新打开文件",
"pickEncodingForSave": "选择用于保存的文件编码",
"screenReaderDetectedExplanation.title": "已为屏幕阅读器优化",
"screenReaderDetectedExplanation.question": "你在使用屏幕阅读器额来操作 VS Code 吗?",
"screenReaderDetectedExplanation.answerYes": "是",
"screenReaderDetectedExplanation.answerNo": "否",
"screenReaderDetectedExplanation.body1": "VS Code 已为屏幕阅读器的使用进行优化。"
"screenReaderDetectedExplanation.body1": "VS Code 已为屏幕阅读器的使用进行优化。",
"screenReaderDetectedExplanation.body2": "一些编辑器功能将有不同的行为: 例如,文字换行,折叠,自动关闭括号等。"
}
@@ -3,4 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
{
"duplicateId": "ID 为“{0}”的视图在位置“{1}”已被注册"
}
@@ -17,6 +17,7 @@
"tabDescription": "控制编辑器标签的格式。修改这项设置会让文件的路径更容易理解:\n- short: \"parent\"\n- medium: \"workspace/src/parent\"\n- long: \"/home/user/workspace/src/parent\"\n- default: 当与另一选项卡标题相同时为 \".../parent\"。选项卡被禁用时则为相对工作区路径",
"editorTabCloseButton": "控制编辑器的选项卡关闭按钮的位置,或当设置为 \"off\" 时禁用关闭它们。",
"showIcons": "控制打开的编辑器是否随图标一起显示。这还需启用图标主题。",
"enablePreview": "控制是否将打开的编辑器显示为预览。预览编辑器将会重用至其被保留(例如,通过双击或编辑),且其字体样式将为斜体。",
"enablePreviewFromQuickOpen": "控制 Quick Open 中打开的编辑器是否显示为预览。预览编辑器可以重新使用,直到将其保留(例如,通过双击或编辑)。",
"editorOpenPositioning": "控制打开编辑器的位置。选择“左侧”或“右侧”以在当前活动位置的左侧或右侧打开编辑器。选择“第一个”或“最后一个”以从当前活动位置独立打开编辑器。",
"revealIfOpen": "控制打开时编辑器是否显示在任何可见组中。如果禁用,编辑器会优先在当前活动编辑器组中打开。如果启用,会显示已打开的编辑器而不是在当前活动编辑器组中再次打开。请注意,有些情况下会忽略此设置,例如强制编辑器在特定组中或在当前活动组的边侧打开时。",
@@ -12,8 +12,8 @@
"breakpointRemoved": "已删除断点,行 {0},文件 {1}",
"compoundMustHaveConfigurations": "复合项必须拥有 \"configurations\" 属性集,才能启动多个配置。",
"configMissing": "\"launch.json\" 中缺少配置“{0}”。",
"debugRequestNotSupported": "不支持配置中的调试请求“{0}”",
"debugRequesMissing": "所选的启动配置缺少调试请求",
"debugRequestNotSupported": "所选的调试配置有一个不支持的属性值“{0}”: “{1}”。",
"debugRequesMissing": "所选的调试配置缺少属性“{0}”。",
"debugTypeNotSupported": "配置的类型“{0}”不受支持。",
"debugTypeMissing": "所选的启动配置缺少属性 \"type\"。",
"preLaunchTaskErrors": "preLaunchTask“{0}”期间检测到多个生成错误。",
@@ -5,10 +5,12 @@
// Do not edit this file. It is machine generated.
{
"reallyRecommended2": "建议对这种类型的文件使用“{0}”扩展。",
"reallyRecommendedExtensionPack": "建议对这种类型的文件使用“{0}”扩展包。",
"showRecommendations": "显示建议",
"neverShowAgain": "不再显示",
"close": "关闭",
"workspaceRecommended": "此工作区具有扩展建议。",
"ignoreExtensionRecommendations": "你是否要忽略所有推荐的扩展?",
"ignoreAll": "是,忽略全部",
"no": "否",
"cancel": "取消"
@@ -10,6 +10,7 @@
"textFileEditor": "文本文件编辑器",
"binaryFileEditor": "二进制文件编辑器",
"filesConfigurationTitle": "文件",
"exclude": "配置 glob 模式以在搜索中排除文件和文件夹。例如,文件资源管理器根据此设置决定文件或文件夹的显示和隐藏。",
"files.exclude.boolean": "匹配文件路径所依据的 glob 模式。设置为 true 或 false 可启用或禁用该模式。",
"files.exclude.when": "对匹配文件的同级文件的其他检查。使用 $(basename) 作为匹配文件名的变量。",
"associations": "配置语言的文件关联(如: \"*.extension\": \"html\")。这些关联的优先级高于已安装语言的默认关联。",
@@ -18,6 +19,7 @@
"eol": "默认行尾字符。使用 \\n 表示 LF,\\r\\n 表示 CRLF。",
"trimTrailingWhitespace": "启用后,将在保存文件时剪裁尾随空格。",
"insertFinalNewline": "启用后,保存文件时在文件末尾插入一个最终新行。",
"trimFinalNewlines": "启用后,保存文件时将删除在最终新行后的所有新行。",
"files.autoSave.off": "永不自动保存更新后的文件。",
"files.autoSave.afterDelay": "配置 \"files.autoSaveDelay\" 后自动保存更新后的文件。",
"files.autoSave.onFocusChange": "编辑器失去焦点时自动保存更新后的文件。",
@@ -5,6 +5,7 @@
// Do not edit this file. It is machine generated.
{
"scm providers": "源代码管理提供程序",
"hideRepository": "隐藏",
"commitMessage": "消息(按 {0} 提交)",
"installAdditionalSCMProviders": "安装其他 SCM 提供程序...",
"no open repo": "没有活动的源代码管理提供程序。",
@@ -31,6 +31,7 @@
"TaskSystem.active": "当前已有任务正在运行。请先终止它,然后再执行另一项任务。",
"TaskSystem.restartFailed": "未能终止并重启任务 {0}",
"TaskSystem.configurationErrors": "错误: 提供的任务配置具有验证错误,无法使用。请首先改正错误。",
"taskService.ignoreingFolder": "将忽略工作区文件夹 {0} 的任务配置。多文件夹工作区任务支持要求所有文件夹使用任务版本 2.0.0\n",
"TaskSystem.invalidTaskJson": "错误: tasks.json 文件的内容具有语法错误。请先更正错误然后再执行任务。\n",
"TaskSystem.runningTask": "存在运行中的任务。要终止它吗?",
"TaskSystem.terminateTask": "终止任务(&&T)",
@@ -42,6 +43,7 @@
"recentlyUsed": "最近使用的任务",
"configured": "已配置的任务",
"detected": "检测到的任务",
"TaskService.ignoredFolder": "由于使用任务版本 0.1.0,以下工作区文件夹将被忽略:",
"TaskService.notAgain": "不再显示",
"TaskService.ok": "确定",
"TaskService.pickRunTask": "选择要运行的任务",
@@ -19,5 +19,6 @@
"workspaceConfig.name.description": "文件夹的可选名称。",
"workspaceConfig.uri.description": "文件夹的 URI",
"workspaceConfig.settings.description": "工作区设置",
"workspaceConfig.extensions.description": "工作区扩展"
"workspaceConfig.extensions.description": "工作区扩展",
"unknownWorkspaceProperty": "未知的工作区配置属性"
}
@@ -4,13 +4,26 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"openTasksConfiguration": "打开任务配置",
"openLaunchConfiguration": "打开启动配置",
"close": "关闭",
"open": "打开设置",
"saveAndRetry": "保存并重试",
"errorUnknownKey": "没有注册配置 {1},因此无法写入 {0}。",
"errorInvalidFolderConfiguration": "{0} 不支持文件夹资源域,因此无法写入\"文件夹设置\"。",
"errorInvalidUserTarget": "{0} 不支持全局域,因此无法写入\"用户设置\"。",
"errorInvalidFolderTarget": "未提供资源,因此无法写入\"文件夹设置\"。",
"errorNoWorkspaceOpened": "没有打开任何工作区,因此无法写入 {0}。请先打开一个工作区,然后重试。",
"errorInvalidTaskConfiguration": "无法写入任务文件。请打开**任务**文件并清除错误/警告,然后重试。",
"errorInvalidLaunchConfiguration": "无法写入启动文件。请打开**启动**文件并清除错误/警告,然后重试。",
"errorInvalidConfiguration": "无法写入用户设置。请打开**用户设置**文件并清除错误/警告,然后重试。",
"errorInvalidConfigurationWorkspace": "无法写入工作区设置。请打开**工作区设置**文件并清除错误/警告,然后重试。",
"errorInvalidConfigurationFolder": "无法写入文件夹设置。请打开在 **{0}** 文件夹下的**文件夹设置**文件并清除错误/警告,然后重试。",
"errorTasksConfigurationFileDirty": "文件已变更,因此无法写入设置。请先保存**任务配置**文件,然后重试。",
"errorLaunchConfigurationFileDirty": "文件已变更,因此无法写入设置。请先保存**启动配置**文件,然后重试。",
"errorConfigurationFileDirty": "文件已变更,因此无法写入设置。请先保存**用户设置**文件,然后重试。",
"errorConfigurationFileDirtyWorkspace": "文件已变更,因此无法写入设置。请先保存**工作区设置**文件,然后重试。",
"errorConfigurationFileDirtyFolder": "文件已变更,因此无法写入设置。请先保存在 **{0}** 下的**文件夹设置**文件,然后重试。",
"userTarget": "用户设置",
"workspaceTarget": "工作区设置",
"folderTarget": "文件夹设置"
@@ -11,6 +11,7 @@
"lineHeight": "控制行高。使用 0 會從 fontSize 計算 lineHeight。",
"letterSpacing": "控制字元間距 (以像素為單位)",
"lineNumbers": "控制行號顯示。可能的值有 'on'、'off' 及 'relative'。'relative' 會從目前的資料指標位置顯示行數。",
"rulers": "在特定的等寬字元數之後轉譯垂直尺規。有多個尺規就使用多個值。若陣列為空,則不繪製任何尺規。",
"wordSeparators": "執行文字相關導覽或作業時將作為文字分隔符號的字元",
"tabSize": "與 Tab 相等的空格數量。當 `editor.detectIndentation` 已開啟時,會根據檔案內容覆寫此設定。",
"tabSize.errorMessage": "必須是 'number'。請注意,值 \"auto\" 已由 `editor.detectIndentation` 設定取代。",
@@ -20,6 +20,7 @@
"menus.editorTabContext": "編輯器索引標籤操作功能表",
"menus.debugCallstackContext": "偵錯呼叫堆疊操作功能表",
"menus.scmTitle": "原始檔控制標題功能表",
"menus.scmSourceControl": "原始檔控制功能表",
"menus.resourceGroupContext": "原始檔控制資源群組操作功能表",
"menus.resourceStateContext": "原始檔控制資源群組狀態操作功能表",
"view.viewTitle": "這有助於查看標題功能表",
@@ -13,5 +13,7 @@
"vscode.extension.contributes.views": "提供意見給編輯者",
"views.explorer": "檔案總管檢視",
"views.debug": "偵錯檢視",
"locationId.invalid": "`{0}`不是有效的識別位置"
"locationId.invalid": "`{0}`不是有效的識別位置",
"duplicateView1": "無法在位置 '{1}' 使用相同的識別碼 '{0}' 註冊多個檢視",
"duplicateView2": "識別碼為 '{0}' 的檢視已在位置 '{1}' 註冊"
}
@@ -17,5 +17,6 @@
"save": "儲存(&&S)",
"saveWorkspace": "儲存工作區",
"openWorkspaceAction": "開啟工作區...",
"openWorkspaceConfigFile": "開啟工作區組態檔"
"openWorkspaceConfigFile": "開啟工作區組態檔",
"workspaceFolderPickerPlaceholder": "選取工作區資料夾"
}
@@ -6,6 +6,7 @@
{
"badgeTitle": "{0} - {1}",
"titleKeybinding": "{0} ({1})",
"removeFromActivityBar": "從活動列隱藏",
"keepInActivityBar": "保留在活動列",
"additionalViews": "其他檢視",
"numberBadge": "{0} ({1})",
@@ -35,6 +35,7 @@
"openPreviousEditorInGroup": "開啟群組中上一個編輯器",
"navigateNext": "向前",
"navigatePrevious": "向後",
"navigateLast": "移至最後",
"reopenClosedEditor": "重新開啟已關閉的編輯器",
"clearRecentFiles": "清理最近開啟的",
"showEditorsInFirstGroup": "在第一個群組顯示編輯器",
@@ -11,6 +11,7 @@
"endOfLineLineFeed": "LF",
"endOfLineCarriageReturnLineFeed": "CRLF",
"tabFocusModeEnabled": "用 Tab 鍵移動焦點",
"screenReaderDetected": "已將螢幕助讀程式最佳化",
"screenReaderDetectedExtra": "若您不打算使用螢幕助讀程式,請將設定 `editor.accessibilitySupport` 變更為 \"off\"。",
"disableTabMode": "停用協助工具模式",
"gotoLine": "移至行",
@@ -47,6 +48,10 @@
"guessedEncoding": "已從內容猜測",
"pickEncodingForReopen": "選取檔案的編碼以重新開啟檔案",
"pickEncodingForSave": "選取用來儲存的檔案編碼",
"screenReaderDetectedExplanation.title": "已將螢幕助讀程式最佳化",
"screenReaderDetectedExplanation.question": "您正使用螢幕助讀程式來操作 VS Code 嗎?",
"screenReaderDetectedExplanation.answerYes": "是",
"screenReaderDetectedExplanation.answerNo": "否"
"screenReaderDetectedExplanation.answerNo": "否",
"screenReaderDetectedExplanation.body1": "已將 VS Code 最佳化,現在可搭配螢幕助讀程式使用。",
"screenReaderDetectedExplanation.body2": "某些編輯器功能會具有不同的行為: 例如文字換行、折疊、自動括上括號等。"
}
@@ -3,4 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
{
"duplicateId": "識別碼為 '{0}' 的檢視已在位置 '{1}' 中註冊"
}
@@ -45,5 +45,7 @@
"decreaseViewSize": "縮小目前的檢視大小",
"showPreviousTab": "顯示前一個視窗索引標籤",
"showNextWindowTab": "顯示下一個視窗索引標籤",
"mergeAllWindowTabs": "合併所有視窗"
"moveWindowTabToNewWindow": "將視窗索引標籤移至新的視窗",
"mergeAllWindowTabs": "合併所有視窗",
"toggleWindowTabsBar": "切換視窗索引標籤列"
}
@@ -10,9 +10,14 @@
"workspaces": "工作區",
"developer": "開發人員",
"showEditorTabs": "控制已開啟的編輯器是否應顯示在索引標籤中。",
"workbench.editor.labelFormat.default": "顯示檔案名稱。當啟用頁籤且有兩個相同名稱的檔案在同一個群組時,各檔案的路徑會被加入以分辨區隔。當取消頁籤時,在使用中的編輯器會顯示與工作區根目錄的相對路徑。",
"workbench.editor.labelFormat.default": "顯示檔案的名稱。當啟用索引標籤時,若在一個群組中有兩個檔案使用相同的名稱,就會新增每個檔案路徑具有辨識度的區段。當索引標籤停用時,若編輯器在使用中,則會顯示工作區根目錄的相關路徑。",
"workbench.editor.labelFormat.short": "顯示檔案的名稱,並在名稱後接著該檔案的目錄名稱。",
"workbench.editor.labelFormat.medium": "顯示檔案的名稱,並在名稱後接著該檔案與工作區根目錄有關的路徑。",
"workbench.editor.labelFormat.long": "顯示檔案的名稱,並在名稱後接著該檔案的絕對路徑。",
"tabDescription": "控制編輯器的標籤格式。變更此設定具有多項優點,例如可讓檔案的位置更加清楚:\n-簡短: 'parent'\n-中等: 'workspace/src/parent'\n-完整: '/home/user/workspace/src/parent'\n-預設: '.../parent',當另一個索引標籤共用相同的標題,或若路徑停用,卻共用相關的工作區路徑時",
"editorTabCloseButton": "控制編輯器的索引標籤關閉按鈕位置,或在設為 'off' 時將其停用。",
"showIcons": "控制開啟的編輯器是否搭配圖示顯示。這需要同時啟用圖示佈景主題。",
"enablePreview": "控制已開啟的編輯器是否顯示為預覽。預覽編輯器會重複使用到被保留 (例如按兩下或進行編輯) 並以斜體字型樣式顯示為止。",
"enablePreviewFromQuickOpen": "控制透過 Quick Open 所開啟的編輯器是否顯示為預覽。預覽編輯器會重複使用到被保留 (例如按兩下或進行編輯) 為止。",
"editorOpenPositioning": "控制要在何處開啟編輯器。選取 [左] 或 [右] 在目前使用中編輯器的左側或右側開啟編輯器。選取 [先] 或 [後] 從目前使用中編輯器另外開啟編輯器。",
"revealIfOpen": "控制編輯器是否要在任何顯示的群組開啟時,在其中顯示。若啟用此選項,已經開啟的編輯器將會繼續顯示,而不會在目前使用中的編輯器群組中再開啟一次。請注意,有一些情況會忽略此設定,例如當強制編輯器在特定群組中開啟,或強制編輯器在目前使用中的群組旁開啟等情況。",
@@ -37,5 +37,9 @@
"schema.indentationRules.unIndentedLinePattern.pattern": "適用於 unIndentedLinePattern 的 RegExp 模式。",
"schema.indentationRules.unIndentedLinePattern.flags": "適用於 unIndentedLinePattern 的 RegExp 旗標。",
"schema.indentationRules.unIndentedLinePattern.errorMessage": "必須符合樣式 `/^([gimuy]+)$/`",
"schema.folding": "語言的摺疊設定。"
"schema.folding": "語言的摺疊設定。",
"schema.folding.offSide": "若語言中的區塊由其縮排表示,則該語言會依循越位規則。若已設定,則空白行會屬於後續區塊。",
"schema.folding.markers": "語言的特定摺疊標記,例如 '#region' 和 '#endregion'。會針對所有行的內容測試起始和結尾 regex,而必須有效地設計起始和結尾 regex",
"schema.folding.markers.start": "開始標記的 RegExp 模式。regexp 必須以 '^' 作為開頭。",
"schema.folding.markers.end": "結束標記的 RegExp 模式。regexp 必須以 '^' 作為開頭。"
}
@@ -12,6 +12,8 @@
"breakpointRemoved": "已移除中斷點,行 {0},檔案 {1}",
"compoundMustHaveConfigurations": "複合必須設有 \"configurations\" 屬性,才能啟動多個組態。",
"configMissing": "'launch.json' 中遺漏組態 '{0}'。",
"debugRequestNotSupported": "所選的偵錯組態具有不支援的屬性值 '{0}': '{1}'。",
"debugRequesMissing": "所選的偵錯組態遺漏屬性 '{0}'。",
"debugTypeNotSupported": "不支援設定的偵錯類型 '{0}'。",
"debugTypeMissing": "遺漏所選啟動設定的屬性 'type'。",
"preLaunchTaskErrors": "執行 preLaunchTask '{0}' 期間偵測到建置錯誤。",
@@ -29,6 +29,13 @@
"view id": "識別碼",
"view name": "名稱",
"view location": "位置",
"colorThemes": "色彩佈景主題 ({0})",
"iconThemes": "圖示佈景主題 ({0}) ",
"colors": "色彩 ({0})",
"colorId": "識別碼",
"defaultDark": "預設深色",
"defaultLight": "預設淺色",
"defaultHC": "預設高對比",
"JSON Validation": "JSON 驗證 ({0})",
"commands": "命令 ({0})",
"command name": "名稱",
@@ -53,6 +53,7 @@
"showAzureExtensionsShort": "Azure 延伸模組",
"OpenExtensionsFile.failed": "無法在 '.vscode' 資料夾 ({0}) 中建立 'extensions.json' 檔案。",
"configureWorkspaceRecommendedExtensions": "設定建議的延伸模組 (工作區)",
"configureWorkspaceFolderRecommendedExtensions": "設定建議的延伸模組 (工作區資料夾) ",
"builtin": "內建",
"disableAll": "停用所有已安裝的延伸模組",
"disableAllWorkspace": "停用此工作區的所有已安裝延伸模組",
@@ -5,10 +5,12 @@
// Do not edit this file. It is machine generated.
{
"reallyRecommended2": "建議對此檔案類型使用 '{0}' 延伸模組。",
"reallyRecommendedExtensionPack": "建議對此檔案類型使用 '{0}' 延伸模組套件。",
"showRecommendations": "顯示建議",
"neverShowAgain": "不要再顯示",
"close": "關閉",
"workspaceRecommended": "此工作區具有擴充功能建議。",
"ignoreExtensionRecommendations": "是否略過所有的延伸模組建議?",
"ignoreAll": "是,略過全部",
"no": "否",
"cancel": "取消"
@@ -10,12 +10,16 @@
"textFileEditor": "文字檔編輯器",
"binaryFileEditor": "二進位檔案編輯器",
"filesConfigurationTitle": "檔案",
"exclude": "設定 Glob 模式,以排除檔案及資料夾。例如,檔案總管會根據此項設定,判斷何種檔案和資料夾該顯示或隱藏。",
"files.exclude.boolean": "要符合檔案路徑的 Glob 模式。設為 True 或 False 可啟用或停用模式。",
"files.exclude.when": "在相符檔案同層級上額外的檢查。請使用 $(basename) 作為相符檔案名稱的變數。",
"associations": "將檔案關聯設定為語言 (例如 \"*.extension\": \"html\")。這些語言優先於已安裝語言的預設關聯。",
"encoding": "在讀取和寫入檔案時要使用的預設字元集編碼。此項設定也可根據每個語言加以設定。",
"autoGuessEncoding": "當啟用此功能時,會嘗試在開啟檔案時推測字元集編碼。此項設定也可根據每個語言加以設定。",
"eol": "預設結尾斷行字元.LF使用 \\n , CRLF使用\\r\\n ",
"trimTrailingWhitespace": "若啟用,將在儲存檔案時修剪尾端空白。",
"insertFinalNewline": "啟用時,請在儲存檔案時在其結尾插入最後一個新行。",
"trimFinalNewlines": "若啟用,則會在儲存檔案時,修剪檔案末新行尾的所有新行。",
"files.autoSave.off": "已變更的檔案一律不會自動儲存。",
"files.autoSave.afterDelay": "已變更的檔案會在設定的 'files.autoSaveDelay' 之後自動儲存。",
"files.autoSave.onFocusChange": "已變更的檔案會在編輯器失去焦點時自動儲存。",
@@ -4,5 +4,6 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"dirtyFile": "1 個未儲存的檔案",
"dirtyFiles": "{0} 個未儲存的檔案"
}
@@ -4,8 +4,11 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"scm providers": "原始檔控制提供者",
"hideRepository": "隱藏",
"commitMessage": "Message (press {0} to commit)",
"installAdditionalSCMProviders": "安裝額外SCM提供者...",
"no open repo": "沒有使用中的原始檔控制提供者。",
"source control": "原始檔控制",
"viewletTitle": "{0}: {1}"
}
@@ -4,5 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"snippet.suggestions.label": "插入程式碼片段"
"snippet.suggestions.label": "插入程式碼片段",
"sep.userSnippet": "使用者程式碼片段",
"sep.extSnippet": "延伸模組程式碼片段"
}
@@ -10,6 +10,7 @@
"vscode.extension.contributes.snippets": "提供程式碼片段。",
"vscode.extension.contributes.snippets-language": "要予以提供此程式碼片段的語言識別碼。",
"vscode.extension.contributes.snippets-path": "程式碼片段檔案的路徑。此路徑是擴充功能資料夾的相對路徑,而且一般會以 './snippets/' 開頭。",
"badFile": "無法讀取程式碼片段檔案 \"{0}\"。",
"badVariableUse": "程式碼片段 \"{0}\" 很可能會混淆 snippet-variables 及 snippet-placeholders。如需詳細資料,請參閱 https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax。",
"source.snippet": "使用者程式碼片段",
"detail.snippet": "{0} ({1})",
@@ -13,11 +13,13 @@
"manyMarkers": "99+",
"runningTasks": "顯示執行中的工作",
"tasks": "工作",
"TaskSystem.noHotSwap": "必須重新載入視窗才可變更執行使用中工作的工作執行引擎",
"TaskService.noBuildTask1": "未定義任何建置工作。請使用 'isBuildCommand' 標記 tasks.json 檔案中的工作。",
"TaskService.noBuildTask2": "未定義任何組建工作,請在 tasks.json 檔案中將工作標記為 'build' 群組。",
"TaskService.noTestTask1": "未定義任何建置工作。請使用 'isTestCommand' 標記 tasks.json 檔案中的工作。",
"TaskService.noTestTask2": "未定義任何測試工作,請在 tasks.json 檔案中將工作標記為 'test' 群組。",
"TaskServer.noTask": "找不到所要求要執行的工作 {0}。",
"TaskService.associate": "建立關聯",
"TaskService.attachProblemMatcher.continueWithout": "在不掃描工作輸出的情況下繼續",
"TaskService.attachProblemMatcher.never": "永不掃描工作輸出",
"TaskService.attachProblemMatcher.learnMoreAbout": "深入了解掃描工作輸出",
@@ -29,6 +31,7 @@
"TaskSystem.active": "已有工作在執行。請先終止該工作,然後再執行其他工作。",
"TaskSystem.restartFailed": "無法終止再重新啟動工作 {0}",
"TaskSystem.configurationErrors": "錯誤: 提供的工作組態具有驗證錯誤而無法使用。請先更正這些錯誤。",
"taskService.ignoreingFolder": "略過工作區資料夾 {0} 的工作組態。所有的資料夾都必須使用工作版本 2.0.0 才可使用多資料夾工作區工作支援\n",
"TaskSystem.invalidTaskJson": "錯誤: tasks.json 檔案的內容具有語法錯誤。請更正錯誤,再執行工作\n",
"TaskSystem.runningTask": "有一個工作正在執行。要終止工作嗎?",
"TaskSystem.terminateTask": "終止工作(&&T)",
@@ -40,20 +43,33 @@
"recentlyUsed": "最近使用的工作",
"configured": "設定的工作",
"detected": "偵測到的工作",
"TaskService.ignoredFolder": "下列工作區資料夾因為使用工作版本 0.1.0,所以已略過:",
"TaskService.notAgain": "不要再顯示",
"TaskService.ok": "確定",
"TaskService.pickRunTask": "請選取要執行的工作",
"TaslService.noEntryToRun": "找不到任何要執行的工作。請設定工作...",
"TaskService.fetchingBuildTasks": "正在擷取組建工作...",
"TaskService.pickBuildTask": "請選取要執行的組建工作",
"TaskService.noBuildTask": "找不到任何要執行的組建工作。請設定工作...",
"TaskService.fetchingTestTasks": "正在擷取測試工作...",
"TaskService.pickTestTask": "請選取要執行的測試工作",
"TaskService.noTestTaskTerminal": "找不到任何要執行的測試工作。請設定工作...",
"TaskService.tastToTerminate": "請選取要終止的工作",
"TaskService.noTaskRunning": "目前未執行任何工作",
"TerminateAction.noProcess": "啟動的處理序已不存在。如果工作繁衍的背景工作結束,VS Code 可能會產生孤立的處理序。",
"TerminateAction.failed": "無法終止執行中的工作",
"TaskService.tastToRestart": "請選取要重新啟動的工作",
"TaskService.noTaskToRestart": "沒有要重新啟動的工作",
"TaskService.template": "選取工作範本",
"TaskService.createJsonFile": "從範本建立 tasks.json 檔案",
"TaskService.openJsonFile": "開啟 tasks.json 檔案",
"TaskService.pickTask": "選取要設定的工作",
"TaskService.defaultBuildTaskExists": "已經將 {0} 標記為預設組建工作",
"TaskService.pickDefaultBuildTask": "請選取要用作預設組建工作的工作",
"TaskService.defaultTestTaskExists": "已經將 {0} 標記為預設測試工作。",
"TaskService.pickDefaultTestTask": "請選取要用作預設測試工作的工作",
"TaskService.pickShowTask": "選取要顯示輸出的工作",
"TaskService.noTaskIsRunning": "未執行任何工作",
"ShowLogAction.label": "顯示工作記錄檔",
"RunTaskAction.label": "執行工作",
"RestartTaskAction.label": "重新開始執行工作",
@@ -5,6 +5,7 @@
// Do not edit this file. It is machine generated.
{
"TerminalTaskSystem.unknownError": "執行工作時發生不明錯誤。如需詳細資訊,請參閱工作輸出記錄檔。",
"dependencyFailed": "無法解決在工作區資料夾 '{1}' 中的相依工作 '{0}'",
"TerminalTaskSystem.terminalName": "工作 - {0}",
"reuseTerminal": "工作將被重新啟用.按任意鍵關閉.",
"TerminalTaskSystem": "無法在 UNC 磁碟機上執行殼層命令。",
@@ -12,6 +12,7 @@
"ConfigurationParser.invalidVaraibleReference": "錯誤: problemMatcher 參考無效: {0}\n",
"ConfigurationParser.noTaskType": "錯誤: 工作組態必須具有型別屬性。將會忽略該組態。\n{0}\n",
"ConfigurationParser.noTypeDefinition": "錯誤: 沒有已註冊工作類型 '{0}'。您是否忘記安裝提供相應工作提供者的延伸模組?",
"ConfigurationParser.missingRequiredProperty": "錯誤: 工作組態 '{0}' 缺少要求的屬性 '{1}'。會略過工作組態。",
"ConfigurationParser.notCustom": "錯誤: 未將工作宣告為自訂工作。將會忽略該組態。\n{0}\n",
"ConfigurationParser.noTaskName": "錯誤: 工作必須提供 taskName 屬性。即將忽略此工作。\n{0}\n",
"taskConfiguration.shellArgs": "警告: 工作 '{0}' 是殼層命令,但命令名稱或其中一個引數有的未逸出的空格。若要確保命令列正確引述,請將引數合併到命令中。",
@@ -38,5 +38,6 @@
"workbench.action.terminal.focusFindWidget": "焦點尋找小工具",
"workbench.action.terminal.hideFindWidget": "隱藏尋找小工具",
"nextTerminalFindTerm": "顯示下一個尋找字詞",
"previousTerminalFindTerm": "顯示上一個尋找字詞"
"previousTerminalFindTerm": "顯示上一個尋找字詞",
"quickOpenTerm": "切換使用中的終端機 "
}
@@ -8,5 +8,6 @@
"terminal.foreground": "終端機的前景色彩。",
"terminalCursor.foreground": "終端機游標的前景色彩。",
"terminalCursor.background": "終端機游標的背景色彩。允許區塊游標重疊於自訂字元色彩。",
"terminal.selectionBackground": "終端機的選取項目背景色彩。",
"terminal.ansiColor": "終端機中的 '{0}' ANSI 色彩。"
}
@@ -10,6 +10,7 @@
"welcomePage.newFile": "新增檔案",
"welcomePage.openFolder": "開啟資料夾...",
"welcomePage.cloneGitRepository": "複製 Git 存放庫...",
"welcomePage.addWorkspaceFolder": "新增工作區資料夾...",
"welcomePage.recent": "最近使用",
"welcomePage.moreRecent": "更多...",
"welcomePage.noRecentFolders": "沒有最近使用的資料夾",
@@ -13,6 +13,12 @@
"invalid.title": "'configuration.title' 必須是字串",
"vscode.extension.contributes.defaultConfiguration": "依語言貢獻預設編輯器組態設定。",
"invalid.properties": "'configuration.properties' 必須是物件",
"invalid.allOf": "'configuration.allOf' 已取代而不應再使用。請改為將多個組態區段作為陣列,傳遞至「組態」貢獻點。",
"workspaceConfig.folders.description": "要載入工作區之資料夾的清單。",
"workspaceConfig.path.description": "檔案路徑,例如 `/root/folderA` 或 `./folderA` 即為會對工作區檔案位置解析的相關路徑。",
"workspaceConfig.settings.description": "工作區設定"
"workspaceConfig.name.description": "資料夾的選用名稱。",
"workspaceConfig.uri.description": "資料夾的 URI",
"workspaceConfig.settings.description": "工作區設定",
"workspaceConfig.extensions.description": "工作區延伸模組",
"unknownWorkspaceProperty": "未知的工作區組態屬性"
}
@@ -4,13 +4,26 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"openTasksConfiguration": "開啟工作組態",
"openLaunchConfiguration": "開啟啟動組態",
"close": "關閉",
"open": "開啟設定",
"saveAndRetry": "儲存並重試",
"errorUnknownKey": "因為 {1} 非已註冊的組態,所以無法寫入至 {0}。",
"errorInvalidFolderConfiguration": "因為 {0} 不支援資料夾資源範圍,所以無法寫入至資料夾設定。",
"errorInvalidUserTarget": "因為 {0} 不支援全域範圍,所以無法寫入至使用者設定。",
"errorInvalidFolderTarget": "因為未提供資源,所以無法寫入至資料夾設定。",
"errorNoWorkspaceOpened": "因為未開啟工作區,所以無法寫入至 {0}。請先開啟工作區,再試一次。",
"errorInvalidTaskConfiguration": "無法寫入工作檔案。請開啟 **工作** 檔案以修正其中的錯誤/警告,然後重試一次。",
"errorInvalidLaunchConfiguration": "無法寫入啟動檔案。請開啟 **啟動** 檔案以修正其中的錯誤/警告,然後重試一次。",
"errorInvalidConfiguration": "無法寫入使用者設定。請開啟 **使用者設定** 檔案以修正其中的錯誤/警告,然後重試一次。",
"errorInvalidConfigurationWorkspace": "無法寫入工作區設定。請開啟 **工作區設定** 檔案以修正其中的錯誤/警告,然後重試一次。",
"errorInvalidConfigurationFolder": "無法寫入資料夾設定。請開啟 **{0}** 資料夾下的 **資料夾設定** 檔案以修正其中的錯誤/警告,然後重試一次。",
"errorTasksConfigurationFileDirty": "因為檔案已變更,所以無法寫入工作檔案。請儲存 **工作組態** 檔案,然後重試一次。",
"errorLaunchConfigurationFileDirty": "因為檔案已變更,所以無法寫入啟動檔案。請儲存 **啟動組態** 檔案,然後重試一次。",
"errorConfigurationFileDirty": "因為檔案已變更,所以無法寫入使用者設定。請儲存 **使用者設定** 檔案,然後重試一次。",
"errorConfigurationFileDirtyWorkspace": "因為檔案已變更,所以無法寫入工作區設定。請儲存 **工作區設定** 檔案,然後重試一次。",
"errorConfigurationFileDirtyFolder": "因為檔案已變更,所以無法寫入資料夾設定。請儲存 **{0}** 資料夾下的 **資料夾設定** 檔案,然後重試一次。",
"userTarget": "使用者設定",
"workspaceTarget": "工作區設定",
"folderTarget": "資料夾設定"
@@ -5,10 +5,12 @@
// Do not edit this file. It is machine generated.
{
"fileInvalidPath": "檔案資源 ({0}) 無效",
"fileIsDirectoryError": "檔案是目錄",
"fileNotModifiedError": "未修改檔案的時間",
"fileTooLargeError": "檔案太大無法開啟",
"fileBinaryError": "檔案似乎是二進位檔,因此無法當做文字開啟",
"fileNotFoundError": "找不到檔案 ({0})",
"fileExists": "要建立的檔案已存在 ({0})",
"fileMoveConflict": "無法移動/複製。目的地已存在檔案。",
"unableToMoveCopyError": "無法移動/複製。檔案會取代其所在的資料夾。",
"foldersCopyError": "資料夾不能複製到工作區。請選取個別檔案進行複製。",
@@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"css.title": "CSS",
"css.lint.argumentsInColorFunction.desc": "Ungültige Parameteranzahl.",
"css.lint.boxModel.desc": "Verwenden Sie width oder height nicht beim Festlegen von padding oder border",
"css.lint.compatibleVendorPrefixes.desc": "Stellen Sie beim Verwenden vom anbieterspezifischen Präfix sicher, dass alle anderen anbieterspezifischen Eigenschaften miteinbezogen werden",
@@ -25,6 +26,7 @@
"css.trace.server.desc": "Verfolgt die Kommunikation zwischen VS Code und dem CSS-Sprachserver.",
"css.validate.title": "Steuert die CSS-Validierung und Problemschweregrade.",
"css.validate.desc": "Aktiviert oder deaktiviert alle Überprüfungen.",
"less.title": "LESS",
"less.lint.argumentsInColorFunction.desc": "Ungültige Parameteranzahl.",
"less.lint.boxModel.desc": "Verwenden Sie width oder height nicht beim Festlegen von padding oder border",
"less.lint.compatibleVendorPrefixes.desc": "Stellen Sie beim Verwenden vom anbieterspezifischen Präfix sicher, dass alle anderen anbieterspezifischen Eigenschaften miteinbezogen werden",
@@ -45,6 +47,7 @@
"less.lint.zeroUnits.desc": "Keine Einheit für Null erforderlich",
"less.validate.title": "Steuert die LESS-Validierung und Problemschweregrade.",
"less.validate.desc": "Aktiviert oder deaktiviert alle Überprüfungen.",
"scss.title": "SCSS (SASS)",
"scss.lint.argumentsInColorFunction.desc": "Ungültige Parameteranzahl.",
"scss.lint.boxModel.desc": "Verwenden Sie width oder height nicht beim Festlegen von padding oder border",
"scss.lint.compatibleVendorPrefixes.desc": "Stellen Sie beim Verwenden vom anbieterspezifischen Präfix sicher, dass alle anderen anbieterspezifischen Eigenschaften miteinbezogen werden",
+3 -1
View File
@@ -3,4 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
{
"execFailed": "Fehler bei der automatischen Grunt-Erkennung für den Ordner {0}. Fehlermeldung: {1}"
}
+3 -1
View File
@@ -3,4 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
{
"execFailed": "Fehler bei der automatischen Gulp-Erkennung für den Ordner {0}. Fehlermeldung: {1}"
}
+3 -1
View File
@@ -3,4 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{}
{
"execFailed": "Fehler bei der automatischen Jake-Erkennung für den Ordner {0}. Fehlermeldung: {1}"
}
@@ -4,5 +4,6 @@
*--------------------------------------------------------------------------------------------*/
// Do not edit this file. It is machine generated.
{
"onPreviewStyleLoadError": "'markdown.styles' konnte nicht geladen werden: {0}"
"onPreviewStyleLoadError": "'markdown.styles' konnte nicht geladen werden: {0}",
"previewTitle": "Vorschau von {0}"
}
@@ -175,6 +175,8 @@
"miRunningTask": "Aktive Auf&&gaben anzeigen...",
"miRestartTask": "Aktuell&&e Aufgabe neu starten...",
"miTerminateTask": "&&Aufgabe beenden...",
"miConfigureTask": "Aufgaben &&konfigurieren...",
"miConfigureBuildTask": "Standardbuildaufgabe kon&&figurieren...",
"accessibilityOptionsWindowTitle": "Optionen für erleichterte Bedienung",
"miRestartToUpdate": "Zum Aktualisieren neu starten...",
"miCheckingForUpdates": "Überprüfen auf Updates...",
@@ -17,6 +17,8 @@
"open": "Öffnen",
"openFolder": "Ordner öffnen",
"openFile": "Datei öffnen",
"workspaceOpenedMessage": "Der Arbeitsbereich \"{0}\" kann nicht gespeichert werden.",
"workspaceOpenedDetail": "Der Arbeitsbereich ist bereits in einem anderen Fenster geöffnet. Schließen Sie zuerst das andere Fenster, und versuchen Sie anschließend noch mal.",
"openWorkspace": "&&Öffnen",
"openWorkspaceTitle": "Arbeitsbereich öffnen",
"save": "&&Speichern",
@@ -8,6 +8,6 @@
"hintn1": "{0} Formatierungen in Zeile {1} vorgenommen",
"hint1n": "1 Formatierung zwischen Zeilen {0} und {1} vorgenommen",
"hintnn": "{0} Formatierungen zwischen Zeilen {1} und {2} vorgenommen",
"formatDocument.label": "Format Document",
"formatSelection.label": "Format Selection"
"formatDocument.label": "Dokument formatieren",
"formatSelection.label": "Auswahl formatieren"
}
@@ -9,5 +9,6 @@
"markerAction.previous.label": "Gehe zum vorherigen Fehler oder zur vorherigen Warnung",
"editorMarkerNavigationError": "Editormarkierung: Farbe bei Fehler des Navigationswidgets.",
"editorMarkerNavigationWarning": "Editormarkierung: Farbe bei Warnung des Navigationswidgets.",
"editorMarkerNavigationInfo": "Editormarkierung: Farbe bei Warnung des Navigationswidgets.",
"editorMarkerNavigationBackground": "Editormarkierung: Hintergrund des Navigationswidgets."
}
@@ -20,6 +20,7 @@
"menus.editorTabContext": "Das Kontextmenü für die Editor-Registerkarten",
"menus.debugCallstackContext": "Das Kontextmenü für den Debug-Callstack",
"menus.scmTitle": "Das Titelmenü der Quellcodeverwaltung",
"menus.scmSourceControl": "Das Menü \"Quellcodeverwaltung\"",
"menus.resourceGroupContext": "Das Ressourcengruppen-Kontextmenü der Quellcodeverwaltung",
"menus.resourceStateContext": "Das Ressourcenstatus-Kontextmenü der Quellcodeverwaltung",
"view.viewTitle": "Das beigetragene Editor-Titelmenü.",
@@ -6,6 +6,7 @@
{
"invalidManifest": "Die Erweiterung ist ungültig: \"package.json\" ist keine JSON-Datei.",
"restartCodeLocal": "Bitte starten Sie Code vor der Neuinstallation von {0} neu.",
"restartCodeGallery": "Bitte vor der Neuinstallation VSCode neu starten.",
"uninstallDependeciesConfirmation": "Möchten Sie nur \"{0}\" oder auch die zugehörigen Abhängigkeiten deinstallieren?",
"uninstallOnly": "Nur",
"uninstallAll": "Alle",
@@ -15,5 +15,6 @@
"invalid.default.colorType": "{0} muss entweder eine Farbe als Hex-Code (#RRGGBB[AA] oder #RGB[A]) sein oder der Bezeichner einer verwendbaren Farbe, der eine Standardeinstellung bereitstellt.",
"invalid.id": "\"configuration.colors.id\" muss definiert und nicht leer sein",
"invalid.id.format": "\"configuration.colors.id\" muss auf das Wort[.word]* folgen",
"invalid.description": "\"configuration.colors.description\" muss definiert und darf nicht leer sein",
"invalid.defaults": "\"configuration.colors.defaults\" muss definiert sein, und \"light\", \"dark\" und \"highContrast\" enthalten"
}
@@ -13,5 +13,7 @@
"vscode.extension.contributes.views": "Trägt Ansichten zum Editor bei.",
"views.explorer": "Explorer-Ansicht",
"views.debug": "Debugansicht",
"locationId.invalid": "{0}\" ist kein gültiger Ansichtenspeicherort"
"locationId.invalid": "{0}\" ist kein gültiger Ansichtenspeicherort",
"duplicateView1": "Mehrere Ansichten können nicht mit derselben ID \"{0}\" am Speicherort \"{1}\" registriert werden.",
"duplicateView2": "Eine Ansicht mit der ID \"{0}\" ist am Speicherort \"{1}\" bereits registriert."
}
Loaded 100 of 477 files, more files were not shown because too many files have changed in this diff. Show more