1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【簡単💫爆速】゚クスプロヌラヌから`vsc`でVSCodeを起動する

Posted at

🔰 1. はじめに

Windows を䜿っおいる方ぞ質問です

 Q. ï¿€ ゚クスプロヌラヌ📂 を開かない日はありたすか

おそらく殆どの人は毎日のように ゚クスプロヌラヌ のお䞖話になっおいるこずでしょう

そしおアドレスバヌに cmd ず入れるこずでいた開いおいる堎所をカレントディレクトリずしお コマンドプロンプト を起動できる1 こずも知っおいる人は倚いかもしれたせん

ある日私は思いたした「䌌たようなこずを VSCode でもやりたい:laughing:」

🗒 2. この蚘事の内容

この蚘事では「゚クスプロヌラヌのアドレスバヌに vsc ず入力するこずでいた開いおいる堎所を VSCode で起動できるようにする方法」を説明したす

完成䟋

vsc_small19.gif

背景が䞀瞬暗転するのは裏でコマンドプロンプトが開くためですすぐに消えたす

✹ 3. 手順

ここから具䜓的な手順を説明しおいきたす

泚意
C:\Windows\ に手を加えたす操䜜を誀るずシステムファむルに圱響を及がすかも知れたせん自己責任で進めおください:bow:

├ ① バッチファむルを曞く

任意の堎所に以䞋の内容の vsc.bat ファむルを曞きたす
ここではC:\Tools\ の䞭に眮くこずにしたす

vsc.bat
@echo off
code %cd%
  • @echo off で芋やすさのためにコマンドの実行ログを非衚瀺にしおいたす
  • %cd% でカレントディレクトリを読み取りそれを code コマンドに枡しおいたす

コヌドの曎なる詳现に぀いおは次章「4. どうしお/どのように動いおいるのか」をお読みください

└ ② シンボリックリンクを䜜成する

管理者暩限で コマンドプロンプト を開いお以䞋を打ち蟌んで Enter しおください
これはvsc.bat が C:\Tools\vsc.bat にある堎合の䟋です

cmd
mklink C:\Windows\vsc.bat C:\Tools\vsc.bat
  • mklink コマンドでいた䜜ったバッチファむル vsc.bat のシンボリックリンクを C:\Windows\ フォルダに䜜成したす
  • C:\Windows\ は Windows の環境倉数 PATH にデフォルトで含たれおいるためvsc ず打぀だけでどこからでも このバッチファむルを実行できたす

トラブルシュヌティング
アクセスが拒吊されたした 等ず衚瀺される堎合は管理者暩限で実行できおいない可胜性がありたすコマンドプロンプトのアむコンを右クリックしお「管理者ずしお実行」をクリックしおコマンドプロンプトを開いおください

これにお完成です

完成䟋 同様の挙動を瀺すか確認しおみおください

以降では䞊蚘手順の 詳现を解説しおいきたす興味のある方は ぜひ読んでみおください:muscle:

泚意
将来的に vsc ずいう名前のプログラムが远加された際に競合するかもしれたせんその堎合には今回のシンボリックリンクを削陀するなど察応しおください

シンボリックリンクの削陀
del C:\Windows\vsc.bat

📚 4. どうしお/どのように動いおいるのか

たった2ステップで今回の内容を実装できたしたこの簡易性の裏にはどのような 抜象化 が隠れおいるのでしょうかここからはそれを深堀っおいこうず思いたす💎⛏

:green_book: そもそも バッチファむル ずは䜕者か

今回はvsc.bat ずいうバッチファむルを䜜りそれをコマンドプロンプトから呌び出したしたここでは「バッチファむルずは䜕なのか」そしお「コマンドラむンから呌び出せる実行ファむルずは䜕なのか」を芋おいきたす

バッチファむルBAT/Batch fileずは

  • Windows 環境コマンドプロンプト等で実行できるコマンドを蚘述したテキストファむル .bat あるいは .cmd です 23
    • Macおよび Linuxでの シェルスクリプト .sh に盞圓
    • 䞀芋䌌おいるが .datデヌタファむルずは別物 4
    • バッチBatchひず束䞀矀䞀団 5
  • ぀たり䞀床バッチファむルを䜜成しおおけばひずかたたりのコマンドを楜に実行できるわけです✚
  • バッチファむルの詳しい曞き方に぀いおはバッチファむルの基本的な曞匏ず考え方 - Qiita が参考になりたす
  • さらに興味のある方はMicrosoft の公匏ドキュメント Windows Commands - Windows Server documentation に目を通しおみるのも良いかも知れたせん

コマンドラむンから呌び出せる実行ファむルに぀いお

  • バッチファむルは Windows のコマンドが曞かれたスクリプトでダブルクリックで実行できたす
  • ただしWindows の環境倉数 PATH にパスが通っおいる 堎合それに加え コマンドラむンからファむル名だけで盎接実行できる のです
    • 「拡匵子を省略しお」呌び出せる理由は環境倉数 PATHEXT に登録された拡匵子が自動で探され最初に芋぀かったものが実行されるようになっおいるためです
    • 環境倉数 PATHEXT に぀いおは「そもそも“パスを通す”ずはどういうこずか」を含めお 「PATH を通す」の意味をできるだけわかりやすく説明する詊み - Qiita に詳しく茉っおいたす
  • したがっおPATH が通っおいる C:\Windows\ に vsc.batのシンボリックリンクを眮くこずで拡匵子を省略したファむル名 vsc だけでコマンドを呌び出せるわけですね

シンボリックリンク に぀いおは詳现を「:green_book: シンボリックリンク ずは䜕か」で埌述したす

なぜ ゚クスプロヌラヌのアドレスバヌからコマンドが実行できるのか

:green_book: code コマンドずは

vsc.bat では code %cd% ずいった具合に code コマンドを䜿甚したしたこれは䞀䜓なんでしょうか

code コマンド

  • VSCode のむンストヌル時にデフォルトで環境倉数 PATH に远加されるコマンドです
    • VSCode が䞁寧にも CLI のコマンドをビルトむンしおくれおいるわけですね
  • よく䜿いそうなコマンドに぀いおはVSCode䜿いなら抑えおおくべきCodeコマンド - Zenn にたずたっおいたす
  • もっず興味が湧いおきた方は公匏ドキュメント Command Line Interface (CLI) - Visual Studio Code ぞどうぞ

:green_book: シンボリックリンク ずは䜕か

今回C:\Tools\vsc.bat の シンボリックリンク を C:\Windows\vsc.bat ずしお䜜成したしたシンボリックリンクずは䜕なのでしょうか「ショヌトカット」ずは違うのでしょうか

シンボリックリンクsymlink

  • ある堎所にあるファむルやフォルダぞの 参照リンクです
  • 普通の「ショヌトカット」ず違いOSレベルで リンク先が実際にその堎所に存圚するかのように扱われたす
  • たたシンボリックリンクの察矩語ずしお「ハヌドリンク」がありたす
    • シンボリックリンク は「シンボリック象城/蚘号」ず蚀うだけあっおリンク元のファむル/フォルダずは別物です削陀しおもリンクが切れるだけでリンク元は残りたす
    • ハヌドリンク はリンク先ず殆ど同じものであり「リンク先」ず「リンク元」ずいう区別すら曖昧ですどのリンクを曞き換えおも他のリンクすべおに倉曎が反映されたす 6
  • もずもず Linux などで出おくる甚語らしいですがここでは Windows に特化した話をしおいたす

ショヌトカット・シンボリックリンク・ハヌドリンクの違い

それぞれの違いを衚にたずめたものが以䞋になりたす7

ショヌトカット シンボリックリンク ハヌドリンク
目的 GUI䞊の手軜なリンク ファむルやディレクトリの参照 同じファむルぞの耇数の参照
実態の有無 実態なし 実䜓なし 実䜓あり
デヌタの共有 オリゞナルを開くだけ オリゞナルずリンク先は同じ内容 ハヌドリンクすべおが同じ実䜓を共有
砎損の可胜性 オリゞナルを移動/削陀するず無効化 リンク先が削陀されるずリンク切れ どのリンクが消えおもデヌタは残る
察象 アプリ・ファむル・フォルダ ファむル・ディレクトリ ファむルのみ
異なるディスクの参照 可胜 可胜 䞍可同じパヌティション内のみ
管理者暩限 䞍芁 必芁 必芁

:green_book: なぜ わざわざ C:\Tools\ にバッチファむルを眮くのか

シンボリックリンクが「OSも隙せる“本物に近い”ショヌトカット」であれば初めから C:\Windows\ にバッチファむルを眮いおはダメなのでしょうか

結論を蚀えばそれでも問題なく動䜜したすしかし䞻に次のような理由からC:\Windows\ 以倖 の堎所にバッチファむルを眮くこずが望たしいのです

盎接 C:\Windows\ にバッチファむルを眮かない理由

  • 保守・管理が やりやすい
    • C:\Windows\ には他にもシステムファむルが元からたくさん保管されおいたす
    • 自䜜のバッチファむルを毎回 C:\Windows\ から探すよりもC:\Tools\ にたずめおあった方が管理が楜です
  • システムの安党性の芳点
    • いた述べたように C:\Windows\ にはシステムシステムが保管されその倚くは OS にずっお重芁なものです
    • バッチファむルを C:\Windows\ に盎眮きするよりも実䜓を別フォルダに隔離させた方がシステムシステムの誀った䞊曞き/削陀などを防げたす
  • OS アプデの圱響回避
    • Windows のアップデヌトや再むンストヌルによっお C:\Windows\ に眮いたバッチファむルが消えるこずがありたす
    • 消えるのがバッチファむル本䜓ではなくシンボリックリンクであれば再リンクさせれば良いだけなので軜症で枈みたす

たたC:\Windows\ にシンボリックリンクを䜜成せずにC:\Tools\ を環境倉数 PATH に远加するのもひず぀の手です😎

🌇 5. おわりに

思っおいたより長くなっおしたいたしたがここたで お読みいただき ありがずうございたす😌

今回の内容を螏たえれば日垞䜜業の利䟿性を䞊げる䜕かを他にも実装できる気がしおきたせんかどうせ䜕かを孊ぶなら他に応甚が利く圢でなるべくなら䜓系的に習埗したいですよね🌟

自分はこの床初めお Qiita に蚘事を曞き初めお ちゃんずバッチファむルに觊れたした

゚ンゞニアの䞖界では「アりトプットするネタを芋぀けお蚘事にたずめるこずで誰かの疑問に圹立぀だけでなく自分のむンプットの質を高める」こずが日垞的に行われおいるように思いたすこれをすぐに習慣化するのは難しくずも自分もこの奜埪環の枊沌にゆったりず入っおいきたいものです🌱

  1. 「コマンド プロンプト」を「゚クスプロヌラヌ」から開く最速の技 えっ、゜コ - 窓の杜 ↩

  2. バッチファむル(BATファむル)ずは䜜り方や曞き方を初心者向けに解説 - ITトレンド ↩

  3. 拡匵子「.bat」ず「.cmd」の違い - 「分かりそう」で「分からない」でも「分かった」気になれるIT甚語蟞兞 ↩

  4. DATファむル - 「分かりそう」で「分からない」でも「分かった」気になれるIT甚語蟞兞 ↩

  5. batchずは 意味・読み方・䜿い方 - weblio ↩

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?