devcat14z
@devcat14z

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

VSCodeでカーソル行に記述したファイルを開きたい

Q&A

Closed

解決したいこと

VSCodeでカーソル行の記述したファイルを簡単に開くことができたら便利かと考えています。
実現方法のアドバイスをお願いいたします。

sample.txt
C:\tmp\test.xlsx
C:\tmp\サンプル.txt

例えばsample.txtのようなものを開いていたら
test.xlsxの行でF1を押すとExcelでファイルが開かれる
サンプル.txtの行でF1を押すとtxtに関連付けられたファイルが開く機能です。

自分で試したこと

ショートカット、プラグインにはなさそうなので拡張機能を作るのではと思っています。
いろいろと情報は出てくるのですが混乱しています。

アドバイスをもとに実施したこと①

コマンドから選択したファイルを関連付けたファイルで開くことができました。

以下を参考に作成
VSCodeでマクロ(スクリプト)を実現する方法【拡張作成編】
Visual Studio Codeの拡張機能を一通り触って自分用に公開するまで

上記の追加対応

npm install open

以下のように書き換え

src/extention.ts
import * as vscode from 'vscode';
import * as openPath from 'open';

export function activate(context: vscode.ExtensionContext) {

	console.log('Congratulations, your extension "open-defaultapplication" is now active!');

	let disposable = vscode.commands.registerCommand('open-defaultapplication.helloWorld', () => {

		let editor = vscode.window.activeTextEditor;
		if (!editor) {
			vscode.window.showWarningMessage('No active text editor found!');
			return;
		}
		//let text = editor.document.getText(editor.selection);
        //現在行の文字列が取得できる
        let text = editor.document.lineAt(editor.selection.active.line).text;
		vscode.window.showInformationMessage("length:" + text.length);
		openPath(text);
	});
	context.subscriptions.push(disposable);
}
export function deactivate() { }

キーバインドの設定もまだですが無事解決できそうです。
別途記事にまとめたいと思います。

皆さま適格なアドバイスありがとうございました。

0

3Answer

Comments

  1. @devcat14z

    Questioner

    ありがとうございます。やってみます!

先の回答者様のように、拡張機能を自作するのが早いかと思います。
類似した拡張機能は沢山ありますので、調べてみるのが良いかと。
例えば私が自作した拡張機能も参考になるかもしれません。
https://github.com/Take-Me1010/fileOpener

1Like

Comments

  1. @devcat14z

    Questioner

    勉強させていただきます。使いやすそうです。

Comments

  1. @devcat14z

    Questioner

    ありがとうございます。ネットから探すのではなくvscode内で探したほうがよかったんですね。

Your answer might help someone💌