本文整理汇总了TypeScript中vscode.window.visibleTextEditors类的典型用法代码示例。如果您正苦于以下问题:TypeScript window.visibleTextEditors类的具体用法?TypeScript window.visibleTextEditors怎么用?TypeScript window.visibleTextEditors使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了window.visibleTextEditors类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: execute
execute(editor: TextEditor, uri?: Uri, args: ToggleFileBlameCommandArgs = {}): Thenable<any> {
// Handle the case where we are focused on a non-editor editor (output, debug console)
if (editor != null && !isTextEditor(editor)) {
if (uri != null && !UriComparer.equals(uri, editor.document.uri)) {
const e = window.visibleTextEditors.find(e => UriComparer.equals(uri, e.document.uri));
if (e !== undefined) {
editor = e;
}
}
}
try {
if (args.type === undefined) {
args = { ...args, type: FileAnnotationType.Blame };
}
return Container.fileAnnotations.toggle(
editor,
args.type!,
args.sha !== undefined ? args.sha : editor && editor.selection.active.line,
args.on
);
}
catch (ex) {
Logger.error(ex, 'ToggleFileBlameCommand');
return window.showErrorMessage(
`Unable to toggle file ${args.type} annotations. See output channel for more details`
);
}
}
示例2: refresh
@gate()
@debug()
async refresh(reset: boolean = false) {
const cc = Logger.getCorrelationContext();
if (reset) {
this._uri = unknownGitUri;
this._selection = undefined;
this.resetChild();
}
const editor = window.activeTextEditor;
if (editor == null || !Container.git.isTrackable(editor.document.uri)) {
if (
this.uri === unknownGitUri ||
(Container.git.isTrackable(this.uri) &&
window.visibleTextEditors.some(e => e.document && UriComparer.equals(e.document.uri, this.uri)))
) {
return true;
}
this._uri = unknownGitUri;
this._selection = undefined;
this.resetChild();
if (cc !== undefined) {
cc.exitDetails = `, uri=${Logger.toLoggable(this._uri)}`;
}
return false;
}
if (
UriComparer.equals(editor!.document.uri, this.uri) &&
(this._selection !== undefined && editor.selection.isEqual(this._selection))
) {
if (cc !== undefined) {
cc.exitDetails = `, uri=${Logger.toLoggable(this._uri)}`;
}
return true;
}
const gitUri = await GitUri.fromUri(editor!.document.uri);
if (
this.uri !== unknownGitUri &&
UriComparer.equals(gitUri, this.uri) &&
(this._selection !== undefined && editor.selection.isEqual(this._selection))
) {
return true;
}
this._uri = gitUri;
this._selection = editor.selection;
this.resetChild();
if (cc !== undefined) {
cc.exitDetails = `, uri=${Logger.toLoggable(this._uri)}`;
}
return false;
}
示例3: revertChange
@command('git.revertChange')
async revertChange(uri: Uri, changes: LineChange[], index: number): Promise<void> {
const textEditor = window.visibleTextEditors.filter(e => e.document.uri.toString() === uri.toString())[0];
if (!textEditor) {
return;
}
await this._revertChanges(textEditor, [...changes.slice(0, index), ...changes.slice(index + 1)]);
}
示例4: stageChange
@command('git.stageChange')
async stageChange(uri: Uri, changes: LineChange[], index: number): Promise<void> {
const textEditor = window.visibleTextEditors.filter(e => e.document.uri.toString() === uri.toString())[0];
if (!textEditor) {
return;
}
await this._stageChanges(textEditor, [changes[index]]);
}
示例5: validateAllDocuments
function validateAllDocuments() {
// TODO: why doesn't this not work?
//workspace.textDocuments.forEach(each => validateDocument(each));
window.visibleTextEditors.forEach(each => {
if (each.document) {
validateDocument(each.document);
}
});
}
示例6: updatePriorityFiles
updatePriorityFiles() {
let visibleDocuments = window.visibleTextEditors.map(e => e.document);
let otherOpenDocuments = workspace.textDocuments.filter(doc => visibleDocuments.indexOf(doc) == -1);
let priorityDocuments = visibleDocuments.concat(otherOpenDocuments).filter(d => util.isAnalyzable(d));
let priorityFiles = priorityDocuments.map(doc => doc.fileName);
this.analyzer.analysisSetPriorityFiles({
files: priorityFiles
}).then(() => {}, e => console.warn(e.message));
}
示例7: find_file_editor
export function find_file_editor(uri: Uri): TextEditor | undefined
{
function check(editor: TextEditor): boolean
{ return editor && is_file(editor.document.uri) && editor.document.uri.fsPath === uri.fsPath }
if (is_file(uri)) {
if (check(window.activeTextEditor)) return window.activeTextEditor
else return window.visibleTextEditors.find(check)
}
else return undefined
}
示例8: source
export function source(preview_uri: Uri)
{
const document_uri = decode_preview(preview_uri)
if (document_uri) {
const editor =
window.visibleTextEditors.find(editor =>
library.is_file(editor.document.uri) &&
editor.document.uri.fsPath === document_uri.fsPath)
if (editor) window.showTextDocument(editor.document, editor.viewColumn)
else workspace.openTextDocument(document_uri).then(window.showTextDocument)
}
else commands.executeCommand("workbench.action.navigateBack")
}
示例9: activateColorDecorations
export function activateColorDecorations(): Disposable {
const disposables: Disposable[] = [];
const colorsDecorationType = window.createTextEditorDecorationType(decorationType);
disposables.push(colorsDecorationType);
window.visibleTextEditors.forEach(editor => {
if (!editor || !editor.document) return;
updateDecoratorsWrapper(colorsDecorationType, editor);
});
window.onDidChangeActiveTextEditor(editor => {
if (!editor || !editor.document) return;
updateDecoratorsWrapperDebounced(colorsDecorationType, editor);
});
workspace.onDidChangeTextDocument(evt => {
if (!evt.document) return;
const editor = findEditorByDocument(evt.document);
if (!editor) return;
updateDecoratorsWrapperDebounced(colorsDecorationType, editor);
});
workspace.onDidOpenTextDocument(document => {
if (!document) return;
const editor = findEditorByDocument(document);
if (!editor) return;
updateDecoratorsWrapperDebounced(colorsDecorationType, editor);
});
(window as any).onDidChangeVisibleTextEditors(editors => {
editors.forEach(editor => {
if (!editor.document) return;
updateDecoratorsWrapperDebounced(colorsDecorationType, editor);
})
});
return Disposable.from(...disposables);
}