mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-15 00:14:20 +01:00
Merge branch 'master' into dirtydiff
This commit is contained in:
@@ -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,5 +1,5 @@
|
||||
{
|
||||
newReleaseLabel: 'new release',
|
||||
newReleases: ['1.16'],
|
||||
newReleases: ['1.17'],
|
||||
perform: false
|
||||
}
|
||||
@@ -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/*'
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# set agent specific npm cache
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# setup nvm
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
./build/tfs/linux/build.sh ia32 "$@"
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
./build/tfs/linux/build.sh x64 "$@"
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
. ./build/tfs/common/node.sh
|
||||
. ./scripts/env.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f pat ]; then
|
||||
echo "Error: file pat not found"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
#
|
||||
# /etc/rc.d/init.d/xvfbd
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
. ./scripts/env.sh
|
||||
. ./build/tfs/common/common.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
. ./build/tfs/common/node.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f pat ]; then
|
||||
echo "Error: file pat not found"
|
||||
|
||||
@@ -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)")));
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
]
|
||||
Generated
+3
-3
@@ -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",
|
||||
|
||||
@@ -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*\\*\\)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
@@ -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) {
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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 one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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'));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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 one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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}”期间检测到多个生成错误。",
|
||||
|
||||
+2
@@ -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": "未知的工作区配置属性"
|
||||
}
|
||||
+13
@@ -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": "控制編輯器是否要在任何顯示的群組開啟時,在其中顯示。若啟用此選項,已經開啟的編輯器將會繼續顯示,而不會在目前使用中的編輯器群組中再開啟一次。請注意,有一些情況會忽略此設定,例如當強制編輯器在特定群組中開啟,或強制編輯器在目前使用中的群組旁開啟等情況。",
|
||||
|
||||
+5
-1
@@ -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": "停用此工作區的所有已安裝延伸模組",
|
||||
|
||||
+2
@@ -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": "切換使用中的終端機 "
|
||||
}
|
||||
+1
@@ -8,5 +8,6 @@
|
||||
"terminal.foreground": "終端機的前景色彩。",
|
||||
"terminalCursor.foreground": "終端機游標的前景色彩。",
|
||||
"terminalCursor.background": "終端機游標的背景色彩。允許區塊游標重疊於自訂字元色彩。",
|
||||
"terminal.selectionBackground": "終端機的選取項目背景色彩。",
|
||||
"terminal.ansiColor": "終端機中的 '{0}' ANSI 色彩。"
|
||||
}
|
||||
+1
@@ -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": "未知的工作區組態屬性"
|
||||
}
|
||||
+13
@@ -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,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,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,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."
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user