国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

實(shí)現(xiàn)一個(gè)vscode插件:打開多個(gè)vscode項(xiàng)目時(shí)根據(jù).nvmrc文件自動(dòng)切換nvm

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)現(xiàn)一個(gè)vscode插件:打開多個(gè)vscode項(xiàng)目時(shí)根據(jù).nvmrc文件自動(dòng)切換nvm。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

實(shí)現(xiàn)一個(gè)vscode插件:打開多個(gè)vscode項(xiàng)目時(shí)根據(jù).nvmrc文件自動(dòng)切換nvm,vscode,ide,編輯器

開發(fā)背景與最終功能

需要維護(hù)一些老項(xiàng)目,同時(shí)開發(fā)新項(xiàng)目時(shí),切換nvm很煩人
最終實(shí)現(xiàn)vscode插件:每個(gè)vscode實(shí)例打開一個(gè)項(xiàng)目,切換vscode實(shí)例時(shí)能自動(dòng)切換版本(需要項(xiàng)目根目錄有一個(gè).nvmrc文件)

插件下載

vscode插件市場(chǎng)搜索vscode-nvmrc實(shí)現(xiàn)一個(gè)vscode插件:打開多個(gè)vscode項(xiàng)目時(shí)根據(jù).nvmrc文件自動(dòng)切換nvm,vscode,ide,編輯器

設(shè)計(jì)思路

項(xiàng)目根目錄新建.nvmrc文件,這是nvm的官方文件,當(dāng)使用nvm use時(shí)會(huì)自動(dòng)查找這個(gè)文件,而windows系統(tǒng)一般使用的是nvm-for-windows,它是由另一個(gè)開發(fā)者維護(hù)的windows版本,并不支持nvm use查找.nvmrc
不過這并不影響vscode插件中實(shí)現(xiàn)nvm use功能,只不過了解下.nvmrc是nvm的官方文件

話不多說,上代碼,很簡(jiǎn)單,vscode插件方法vscode.window.onDidChangeWindowState中讀取下.nvmrc文件,e.focused表示當(dāng)vscode窗口顯示時(shí)觸發(fā),切換vscode實(shí)例時(shí)能夠觸發(fā),然后調(diào)用child_process.exec 運(yùn)行nvm use文章來源地址http://www.zghlxwxcb.cn/news/detail-551518.html

import * as vscode from "vscode";
import { exec } from "child_process";
import { readFile } from "fs";
import { resolve } from "path";

let statusBar: vscode.StatusBarItem | undefined;
let timeout: NodeJS.Timeout;

enum Status {
  error = "error",
}
function customStatusBar(text: string, type?: Status, time = 4000) {
  if (statusBar) {
    statusBar.dispose();
  }
  if (timeout) {
    clearTimeout(timeout);
  }
  statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left);
  statusBar.color = "#ffffff";

  if (type === Status.error) {
    statusBar.backgroundColor = new vscode.ThemeColor(
      "statusBarItem.errorBackground"
    );
  }
  if (!type) {
    statusBar.backgroundColor = new vscode.ThemeColor(
      "statusBarItem.warningBackground"
    );
  }
  statusBar.text = "vscode-nvmrc: " + text;
  statusBar.show();
  timeout = setTimeout(() => {
    if (statusBar) {
      statusBar.dispose();
    }
  }, time);
  return;
}

function execute(cmd: string) {
  exec(cmd, (error, stdout, stderr) => {
    if (error) {
      customStatusBar(`${error}`);
    } else {
      if (stderr) {
        customStatusBar(stderr);
      } else {
        customStatusBar(stdout);
      }
    }
  });
}

function nvmuse(url: string) {
  readFile(url, { encoding: "utf8" }, (err, data) => {
    if (err) {
      customStatusBar(".nvmrc file not found.");
      return;
    }
    execute("nvm use " + data);
  });
}

function resolveRootPathAndNvmuse() {
  const workspaceFolders = vscode.workspace.workspaceFolders;
  if (workspaceFolders && workspaceFolders.length > 0) {
    const rootPath = workspaceFolders[0].uri.fsPath;
    if (rootPath) {
      const url = resolve(rootPath, ".nvmrc");
      nvmuse(url);
    }
  }
}

export function activate(context: vscode.ExtensionContext) {
  resolveRootPathAndNvmuse();
  const disposable = vscode.window.onDidChangeWindowState((e) => {
    if (e.focused) {
      resolveRootPathAndNvmuse();
    }
  });
  context.subscriptions.push(disposable);
}

export function deactivate() {}

到了這里,關(guān)于實(shí)現(xiàn)一個(gè)vscode插件:打開多個(gè)vscode項(xiàng)目時(shí)根據(jù).nvmrc文件自動(dòng)切換nvm的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用VSCode實(shí)現(xiàn)Java項(xiàng)目管理 Maven相關(guān)插件及配置(Maven換源)

    使用VSCode實(shí)現(xiàn)Java項(xiàng)目管理 Maven相關(guān)插件及配置(Maven換源)

    之前一直使用VSCode開發(fā)C、Go兩種語言,現(xiàn)在需要對(duì)java進(jìn)行學(xué)習(xí),面對(duì)java的idea工具相對(duì)陌生,依舊想繼續(xù)使用vscode作為開發(fā)工具,因此有了本篇文章 無論是idea還是vscode,最核心的功能可能就是編輯了,很多工具的優(yōu)秀特性也都是來自于優(yōu)秀的插件,因此首先需要配置VSCode的

    2023年04月23日
    瀏覽(57)
  • 你的internet安全設(shè)置阻止打開一個(gè)或多個(gè)文件

    你的internet安全設(shè)置阻止打開一個(gè)或多個(gè)文件

    提示:這里簡(jiǎn)述項(xiàng)目相關(guān)背景: 今天下載一些小眾破解程序,發(fā)現(xiàn)打開有黃色彈窗,剛開機(jī)時(shí)候能打開,但是無法連接internet,后續(xù)依然打不開。 提示:網(wǎng)上方案過時(shí)了,解決不了WIN11系統(tǒng),DISS下百度,給的全是七八年前的方案 網(wǎng)上方案主要是IE瀏覽器修改,IE都倒閉了 搜索

    2024年02月12日
    瀏覽(22)
  • VScode第三方插件打開sqlite數(shù)據(jù)庫

    VScode第三方插件打開sqlite數(shù)據(jù)庫

    最近在做的東西涉及SQLite數(shù)據(jù)庫(一種常用在移動(dòng)端的數(shù)據(jù)庫類型,和mysql這些主流數(shù)據(jù)庫也差不多),為了方便調(diào)試開發(fā),數(shù)據(jù)庫預(yù)覽很重要;同時(shí),mac預(yù)覽數(shù)據(jù)庫的軟件多數(shù)是要收費(fèi)的,且我體驗(yàn)時(shí)間用了兩款也不是特別滿意。 針對(duì)只是要預(yù)覽數(shù)據(jù)庫不做太多操作,需要

    2024年02月03日
    瀏覽(28)
  • 成功解決VScode每次只能打開一個(gè)文件,即只能打開一個(gè)編輯窗口。

    成功解決VScode每次只能打開一個(gè)文件,即只能打開一個(gè)編輯窗口。

    點(diǎn)擊文件 -- 首選項(xiàng) -- 設(shè)置 -- 工作臺(tái) -- 編輯管理 -- 取消勾選Enable Preview 如下圖所示: 下拉,取消勾選Enable Preview

    2024年02月16日
    瀏覽(21)
  • idea打開多個(gè)項(xiàng)目需要開多個(gè)窗口(恢復(fù)詢問彈窗)

    idea打開多個(gè)項(xiàng)目需要開多個(gè)窗口(恢復(fù)詢問彈窗)

    【版權(quán)所有,文章允許轉(zhuǎn)載,但須以鏈接方式注明源地址,否則追究法律責(zé)任】 【創(chuàng)作不易,點(diǎn)個(gè)贊就是對(duì)我最大的支持】 僅作為學(xué)習(xí)筆記,供大家參考 總結(jié)的不錯(cuò)的話,記得點(diǎn)贊收藏關(guān)注哦! 打開設(shè)置 2. 選中Appearance–選中System Settings 3. 右側(cè)選中 Confirm window to open proje

    2024年02月14日
    瀏覽(21)
  • Android studio如何設(shè)置同時(shí)打開多個(gè)項(xiàng)目

    Android studio如何設(shè)置同時(shí)打開多個(gè)項(xiàng)目

    今天將AS升級(jí)到Android Studio Flamingo | 2022.2.1 Patch 2后,打開一個(gè)新項(xiàng)目后,原打開的項(xiàng)目就關(guān)閉了。非常不方便。于是重新設(shè)置,設(shè)置步驟記錄如下: 1.菜單File-Settings New windows表示在新窗口打開項(xiàng)目,原打開項(xiàng)目不關(guān)閉。 Current window表示在同一個(gè)窗口打開新項(xiàng)目?,原打開的項(xiàng)

    2024年02月11日
    瀏覽(23)
  • VScode只能打開一個(gè)文件(打開其他文件會(huì)覆蓋掉原來的文件)

    VScode只能打開一個(gè)文件(打開其他文件會(huì)覆蓋掉原來的文件)

    在使用VSCode的時(shí)候,好像只能打開一個(gè)文件,當(dāng)我打開其他文件的時(shí)候,會(huì)發(fā)現(xiàn)其他的文件會(huì)被堵蓋掉,這是問什么呢? 其實(shí)原因很簡(jiǎn)單,就是因?yàn)榇蜷_了vscode中的預(yù)覽編輯器,所以就會(huì)出現(xiàn)這樣的情況。 接下來我們來介紹如何關(guān)閉這個(gè)預(yù)覽編輯器的方法。 首先,如果是

    2024年02月15日
    瀏覽(20)
  • 如何在 Visual Studio Code 中同時(shí)打開多個(gè)項(xiàng)目?

    在日常的軟件開發(fā)中,我們經(jīng)常需要同時(shí)處理多個(gè)項(xiàng)目。Visual Studio Code(簡(jiǎn)稱 VS Code)是一個(gè)流行的開發(fā)環(huán)境,提供了許多便捷的功能來支持多項(xiàng)目的管理和開發(fā)。本文將介紹如何在 VS Code 中同時(shí)打開多個(gè)項(xiàng)目,并提供相應(yīng)的源代碼示例。 打開 VS Code 并創(chuàng)建一個(gè)新窗口。 點(diǎn)擊

    2024年02月05日
    瀏覽(35)
  • idea springBoot 部署多個(gè)項(xiàng)目打開Run Dashboard 窗口

    idea springBoot 部署多個(gè)項(xiàng)目打開Run Dashboard 窗口

    在部署springcloud 項(xiàng)目的時(shí)候 本地調(diào)試,有可能需要全部啟動(dòng)所有服務(wù),單個(gè)部署比較麻煩,通過Run DashBoard 窗口可以完美實(shí)現(xiàn) 1.先打開項(xiàng)目的文件地址找到workspace.xml文件,在項(xiàng)目下的.ideaworkspace.xml ? ? ? 2. ctrl+f 找到RunDashboard 標(biāo)簽,添加option信息 ? 3.最后重啟電腦 4.編輯啟

    2024年02月16日
    瀏覽(28)
  • excel中的vlookup如何實(shí)現(xiàn)根據(jù)多個(gè)條件查找?

    excel中的vlookup如何實(shí)現(xiàn)根據(jù)多個(gè)條件查找?

    Excel 中根據(jù)一個(gè)條件查找非常方便,Excel 提供了內(nèi)置函數(shù) VLOOKUP。但是實(shí)際中往往有多種情形,需要根據(jù)多個(gè)條件進(jìn)行查找操作,目前沒有現(xiàn)成的內(nèi)置函數(shù)。 本篇介紹 VLOOKP+CHOOSE 組合查找公式,可根據(jù)任意條件數(shù)量進(jìn)行查找。 下面以兩個(gè)條件進(jìn)行查找為例,介紹 VLOOKP+CHOOSE

    2024年02月15日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包