mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-04-27 16:55:44 +08:00
Update packages plus improved import. (#806)
This commit is contained in:
1
lsp-log-streaming-sample/.vscode/launch.json
vendored
1
lsp-log-streaming-sample/.vscode/launch.json
vendored
@ -8,7 +8,6 @@
|
||||
"name": "Launch Client",
|
||||
"runtimeExecutable": "${execPath}",
|
||||
"args": ["--extensionDevelopmentPath=${workspaceRoot}"],
|
||||
"autoAttachChildProcesses": true,
|
||||
"sourceMaps": true,
|
||||
"outFiles": ["${workspaceRoot}/client/out/**/*.js"],
|
||||
"preLaunchTask": "npm: watch:client"
|
||||
|
||||
1386
lsp-log-streaming-sample/client/package-lock.json
generated
1386
lsp-log-streaming-sample/client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -10,15 +10,18 @@
|
||||
"url": "https://github.com/Microsoft/vscode-extension-samples"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.26.0"
|
||||
"vscode": "^1.74.0"
|
||||
},
|
||||
"scripts": {},
|
||||
"dependencies": {
|
||||
"vscode-languageclient": "^5.1.0-next.9",
|
||||
"ws": "^6.2.2"
|
||||
"vscode-languageclient": "8.1.0-next.6",
|
||||
"ws": "8.12.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/ws": "^6.0.0",
|
||||
"vscode": "^1.1.34"
|
||||
"@types/ws": "8.5.4",
|
||||
"@types/vscode": "1.74.0",
|
||||
"@types/glob": "8.0.0",
|
||||
"@vscode/test-electron": "2.2.2",
|
||||
"glob": "8.1.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,18 +5,18 @@
|
||||
|
||||
import * as path from 'path';
|
||||
import { workspace, commands, ExtensionContext, OutputChannel } from 'vscode';
|
||||
import * as WebSocket from 'ws';
|
||||
import { WebSocket } from 'ws';
|
||||
|
||||
import {
|
||||
LanguageClient,
|
||||
LanguageClientOptions,
|
||||
ServerOptions,
|
||||
TransportKind
|
||||
} from 'vscode-languageclient';
|
||||
} from 'vscode-languageclient/node';
|
||||
|
||||
let client: LanguageClient;
|
||||
|
||||
export function activate(context: ExtensionContext) {
|
||||
export async function activate(context: ExtensionContext) {
|
||||
const socketPort = workspace.getConfiguration('languageServerExample').get('port', 7000);
|
||||
let socket: WebSocket | null = null;
|
||||
|
||||
@ -60,7 +60,8 @@ export function activate(context: ExtensionContext) {
|
||||
clear() { /* empty */ },
|
||||
show() { /* empty */ },
|
||||
hide() { /* empty */ },
|
||||
dispose() { /* empty */ }
|
||||
dispose() { /* empty */ },
|
||||
replace() { /* empty */ }
|
||||
};
|
||||
|
||||
// Options to control the language client
|
||||
@ -84,7 +85,7 @@ export function activate(context: ExtensionContext) {
|
||||
);
|
||||
|
||||
// Start the client. This will also launch the server
|
||||
client.start();
|
||||
await client.start();
|
||||
}
|
||||
|
||||
export function deactivate(): Thenable<void> {
|
||||
|
||||
@ -3,12 +3,42 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
* ------------------------------------------------------------------------------------------ */
|
||||
|
||||
import * as testRunner from 'vscode/lib/testrunner';
|
||||
import * as path from 'path';
|
||||
import * as Mocha from 'mocha';
|
||||
import * as glob from 'glob';
|
||||
|
||||
testRunner.configure({
|
||||
ui: 'bdd',
|
||||
useColors: true,
|
||||
timeout: 100000
|
||||
});
|
||||
export function run(): Promise<void> {
|
||||
// Create the mocha test
|
||||
const mocha = new Mocha({
|
||||
ui: 'bdd',
|
||||
color: true,
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
module.exports = testRunner;
|
||||
const testsRoot = path.resolve(__dirname, '..');
|
||||
|
||||
return new Promise((c, e) => {
|
||||
glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
|
||||
if (err) {
|
||||
return e(err);
|
||||
}
|
||||
|
||||
// Add files to the test suite
|
||||
files.forEach(f => mocha.addFile(path.resolve(testsRoot, f)));
|
||||
|
||||
try {
|
||||
// Run the mocha test
|
||||
mocha.run(failures => {
|
||||
if (failures > 0) {
|
||||
e(new Error(`${failures} tests failed.`));
|
||||
} else {
|
||||
c();
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
e(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
23
lsp-log-streaming-sample/client/src/test/runTest.ts
Normal file
23
lsp-log-streaming-sample/client/src/test/runTest.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import * as path from 'path';
|
||||
|
||||
import { runTests } from '@vscode/test-electron';
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
// The folder containing the Extension Manifest package.json
|
||||
// Passed to `--extensionDevelopmentPath`
|
||||
const extensionDevelopmentPath = path.resolve(__dirname, '../../../');
|
||||
|
||||
// The path to the extension test script
|
||||
// Passed to --extensionTestsPath
|
||||
const extensionTestsPath = path.resolve(__dirname, './index');
|
||||
|
||||
// Download VS Code, unzip it and run the integration test
|
||||
await runTests({ extensionDevelopmentPath, extensionTestsPath });
|
||||
} catch (err) {
|
||||
console.error('Failed to run tests');
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
1017
lsp-log-streaming-sample/package-lock.json
generated
1017
lsp-log-streaming-sample/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -84,11 +84,12 @@
|
||||
"test": "sh ./scripts/e2e.sh"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mocha": "^5.2.0",
|
||||
"@types/mocha": "^10.0.1",
|
||||
"@types/node": "^16.11.7",
|
||||
"@typescript-eslint/eslint-plugin": "^5.42.0",
|
||||
"@typescript-eslint/parser": "^5.42.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.48.2",
|
||||
"@typescript-eslint/parser": "^5.48.2",
|
||||
"eslint": "^8.26.0",
|
||||
"typescript": "^4.8.4"
|
||||
"mocha": "^10.2.0",
|
||||
"typescript": "^4.9.4"
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,4 +3,4 @@
|
||||
export CODE_TESTS_PATH="$(pwd)/client/out/test"
|
||||
export CODE_TESTS_WORKSPACE="$(pwd)/client/testFixture"
|
||||
|
||||
node "$(pwd)/client/node_modules/vscode/bin/test"
|
||||
node "$(pwd)/client/out/test/runTest.js"
|
||||
87
lsp-log-streaming-sample/server/package-lock.json
generated
87
lsp-log-streaming-sample/server/package-lock.json
generated
@ -9,85 +9,84 @@
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"vscode-languageserver": "^5.1.0-next.5"
|
||||
"vscode-languageserver": "8.1.0-next.6",
|
||||
"vscode-languageserver-textdocument": "1.0.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-jsonrpc": {
|
||||
"version": "3.7.0-next.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.7.0-next.1.tgz",
|
||||
"integrity": "sha512-Xlex/7wGhPHqzEy2wPOybsCG6r55j3DPYLX5Ezu81OyNpt5Nm0d7n6rs27RtEqPYocufpYPn5n6XdePPCCW03g==",
|
||||
"version": "8.1.0-next.7",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz",
|
||||
"integrity": "sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ==",
|
||||
"engines": {
|
||||
"node": ">=4.0.0 || >=6.0.0"
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver": {
|
||||
"version": "5.1.0-next.5",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.1.0-next.5.tgz",
|
||||
"integrity": "sha512-XnMdubLzlHFw9KvP6srnTjHfqzjxyK0Tv/E0O5LWqoSlivN2siJQPZHkCywhZbN4s3nmD3Wt5N1b9vvG86xn8Q==",
|
||||
"version": "8.1.0-next.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz",
|
||||
"integrity": "sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==",
|
||||
"dependencies": {
|
||||
"vscode-languageserver-protocol": "^3.13.0-next.1",
|
||||
"vscode-uri": "^1.0.5"
|
||||
"vscode-languageserver-protocol": "3.17.3-next.6"
|
||||
},
|
||||
"bin": {
|
||||
"installServerIntoExtension": "bin/installServerIntoExtension"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-protocol": {
|
||||
"version": "3.13.0-next.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.13.0-next.2.tgz",
|
||||
"integrity": "sha512-iJ4A5ILn/MSnRQnFOnyaGuAABGDVzgco5ExqPeHpUSuhJiFZ++I+TIhIByk0Yw3z/KZZsM+/ik5mQNZt31l0jA==",
|
||||
"version": "3.17.3-next.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz",
|
||||
"integrity": "sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==",
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": "^3.7.0-next.1",
|
||||
"vscode-languageserver-types": "^3.13.0-next.1"
|
||||
"vscode-jsonrpc": "8.1.0-next.7",
|
||||
"vscode-languageserver-types": "3.17.3-next.3"
|
||||
}
|
||||
},
|
||||
"node_modules/vscode-languageserver-types": {
|
||||
"version": "3.13.0-next.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.13.0-next.1.tgz",
|
||||
"integrity": "sha512-Z6ZbWN+67dKjbTjKNohi/uoUS4vBIvzWIfOASdy5uhRqswIIywOU/SESdr4fWh94p+nsy9609SO6nSprgv9oJw=="
|
||||
"node_modules/vscode-languageserver-textdocument": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
|
||||
"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
|
||||
},
|
||||
"node_modules/vscode-uri": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz",
|
||||
"integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww=="
|
||||
"node_modules/vscode-languageserver-types": {
|
||||
"version": "3.17.3-next.3",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz",
|
||||
"integrity": "sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A=="
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-jsonrpc": {
|
||||
"version": "3.7.0-next.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.7.0-next.1.tgz",
|
||||
"integrity": "sha512-Xlex/7wGhPHqzEy2wPOybsCG6r55j3DPYLX5Ezu81OyNpt5Nm0d7n6rs27RtEqPYocufpYPn5n6XdePPCCW03g=="
|
||||
"version": "8.1.0-next.7",
|
||||
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0-next.7.tgz",
|
||||
"integrity": "sha512-UJlY2e4wnI+GkaNYM2TERqrNvTe0XScny7lUA4f+F+z6XI5pDJnHj6udXiGJofT/tX57d8C6fnlfgrCfF6aptQ=="
|
||||
},
|
||||
"vscode-languageserver": {
|
||||
"version": "5.1.0-next.5",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.1.0-next.5.tgz",
|
||||
"integrity": "sha512-XnMdubLzlHFw9KvP6srnTjHfqzjxyK0Tv/E0O5LWqoSlivN2siJQPZHkCywhZbN4s3nmD3Wt5N1b9vvG86xn8Q==",
|
||||
"version": "8.1.0-next.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0-next.6.tgz",
|
||||
"integrity": "sha512-YSj9fKN0FtVW95RKjcy8UheODK4YosqiZUkEbAgJJ0uMxR1Om1dhD/+QwYUKfJX/u8KLS/qFroMNVFHoPoc2hg==",
|
||||
"requires": {
|
||||
"vscode-languageserver-protocol": "^3.13.0-next.1",
|
||||
"vscode-uri": "^1.0.5"
|
||||
"vscode-languageserver-protocol": "3.17.3-next.6"
|
||||
}
|
||||
},
|
||||
"vscode-languageserver-protocol": {
|
||||
"version": "3.13.0-next.2",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.13.0-next.2.tgz",
|
||||
"integrity": "sha512-iJ4A5ILn/MSnRQnFOnyaGuAABGDVzgco5ExqPeHpUSuhJiFZ++I+TIhIByk0Yw3z/KZZsM+/ik5mQNZt31l0jA==",
|
||||
"version": "3.17.3-next.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3-next.6.tgz",
|
||||
"integrity": "sha512-UCL2DaAOCzGFZKIAJ4wOS9BXVbeARL8GxXTW7ANnAXJg03IytNmOJcmguL6l+ht4CCdKNQbnRSJB4dh8cgDyJw==",
|
||||
"requires": {
|
||||
"vscode-jsonrpc": "^3.7.0-next.1",
|
||||
"vscode-languageserver-types": "^3.13.0-next.1"
|
||||
"vscode-jsonrpc": "8.1.0-next.7",
|
||||
"vscode-languageserver-types": "3.17.3-next.3"
|
||||
}
|
||||
},
|
||||
"vscode-languageserver-types": {
|
||||
"version": "3.13.0-next.1",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.13.0-next.1.tgz",
|
||||
"integrity": "sha512-Z6ZbWN+67dKjbTjKNohi/uoUS4vBIvzWIfOASdy5uhRqswIIywOU/SESdr4fWh94p+nsy9609SO6nSprgv9oJw=="
|
||||
"vscode-languageserver-textdocument": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
|
||||
"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
|
||||
},
|
||||
"vscode-uri": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz",
|
||||
"integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww=="
|
||||
"vscode-languageserver-types": {
|
||||
"version": "3.17.3-next.3",
|
||||
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3-next.3.tgz",
|
||||
"integrity": "sha512-R36Wi5sHoVc/PsAva0QGoEgw+LRCXPDKcdjFfgoVwrRdrFOdYUkvp5G4NvrPUsVT2f2qS/bSs6QiRxyjNkcR9A=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,8 @@
|
||||
"url": "https://github.com/Microsoft/vscode-extension-samples"
|
||||
},
|
||||
"dependencies": {
|
||||
"vscode-languageserver": "^5.1.0-next.5"
|
||||
"vscode-languageserver-textdocument": "1.0.8",
|
||||
"vscode-languageserver": "8.1.0-next.6"
|
||||
},
|
||||
"scripts": {}
|
||||
}
|
||||
|
||||
@ -6,7 +6,6 @@
|
||||
import {
|
||||
createConnection,
|
||||
TextDocuments,
|
||||
TextDocument,
|
||||
Diagnostic,
|
||||
DiagnosticSeverity,
|
||||
ProposedFeatures,
|
||||
@ -14,16 +13,19 @@ import {
|
||||
DidChangeConfigurationNotification,
|
||||
CompletionItem,
|
||||
CompletionItemKind,
|
||||
TextDocumentPositionParams
|
||||
} from 'vscode-languageserver';
|
||||
TextDocumentPositionParams,
|
||||
TextDocumentSyncKind
|
||||
} from 'vscode-languageserver/node';
|
||||
|
||||
import {
|
||||
TextDocument
|
||||
} from 'vscode-languageserver-textdocument';
|
||||
|
||||
// Create a connection for the server. The connection uses Node's IPC as a transport.
|
||||
// Also include all preview / proposed LSP features.
|
||||
const connection = createConnection(ProposedFeatures.all);
|
||||
|
||||
// Create a simple text document manager. The text document manager
|
||||
// supports full document sync only
|
||||
const documents: TextDocuments = new TextDocuments();
|
||||
const documents: TextDocuments<TextDocument> = new TextDocuments(TextDocument);
|
||||
|
||||
let hasConfigurationCapability = false;
|
||||
let hasWorkspaceFolderCapability = false;
|
||||
@ -45,7 +47,7 @@ connection.onInitialize((params: InitializeParams) => {
|
||||
|
||||
return {
|
||||
capabilities: {
|
||||
textDocumentSync: documents.syncKind,
|
||||
textDocumentSync: TextDocumentSyncKind.Incremental,
|
||||
// Tell the client that the server supports code completion
|
||||
completionProvider: {
|
||||
resolveProvider: true
|
||||
|
||||
Reference in New Issue
Block a user