Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>iMemo+New to Visual Studio Code? Get it now.
iMemo+

iMemo+

tkworks

|
2 installs
| (0) | Free
Evaluate expressions in Markdown imemo blocks and .imemo files, with results and variables in a side panel.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

iMemo+

Markdownのimemoコードブロックと.imemo文書を計算するVS Code拡張機能です。式・結果・変数をサイドパネルに表示します。変数のスコープはMarkdownのコードブロックごとに独立しています。

桝岡秀昭氏のiMemo(複素メモ)の公開仕様を参考に独自実装しています。原版の全機能・全数値精度との互換性を保証するものではありません。本拡張の開発・配布・保守と問い合わせ対応は本プロジェクトが行います。

使い方

デスクトップ版VS Code 1.140.0以降を使用してください。

コマンド・設定・計算パネル・エラーと警告は日本語・英語に対応しています。VS Codeの表示言語が日本語なら日本語、それ以外なら英語になります。表示言語を変更した場合はVS Codeを再起動してください。数式の書き方と計算結果は共通です。

  1. Markdown(.md)または.imemo文書を開きます。
  2. Markdownではimemoコードブロック内に、.imemo文書では本文に直接、計算式を書きます。
  3. エディターを右クリックし、「iMemo+: 計算結果を表示」を選択します。コマンドパレットからも同じコマンドを実行できます。
; 計算例
x=10
x*2

そのままコピーして使える例を、下のMarkdownの計算例と単独メモの計算例に掲載しています。

アンインストール後も作成済み文書と設定は残ります。Windows・Web/Remoteでの動作は未検証です。

Markdownの計算例

次の内容を.mdファイルへコピーして保存し、「iMemo+: 計算結果を表示」を実行します。最初のブロックは20、次のブロックは4を返します。変数xは各ブロックで独立しています。

# 計算例

```imemo
x=10
x*2
```

```imemo
x=3
x+1
```

単独メモの計算例

次の内容を.imemoファイルへコピーして保存し、「iMemo+: 計算結果を表示」を実行します。抵抗の並列計算は100、小数演算は0、複素数の絶対値は5、定義した関数の結果は11です。

; 抵抗の並列計算
r1=150
r2=300
r1//r2

; 有理数による小数演算
0.1+0.2-0.3

; 複素数
z=3+4i
Abs(z)
Conj(z)

; ユーザー定義関数
#sum2(x, y)=x+y
sum2(4, 7)

English

iMemo+ is a VS Code extension that evaluates expressions in Markdown imemo code blocks and standalone .imemo files. It displays expressions, results, and variables in a side panel. Each Markdown code block has its own independent variable scope.

This is an independent implementation inspired by the publicly available specifications of the original iMemo (複素メモ), created by 桝岡秀昭. Full compatibility with the original application's features and numerical precision is not guaranteed. Development, distribution, maintenance, and support for iMemo+ are handled by this project.

Usage

Use desktop VS Code 1.140.0 or later.

  1. Open a Markdown (.md) or .imemo file.
  2. In Markdown, write expressions inside an imemo code block. In a .imemo file, write expressions directly in the document.
  3. Right-click in the editor and select iMemo+: Show Calculation Results. You can also run this command from the Command Palette. In Japanese, the command is iMemo+: 計算結果を表示.

Commands, settings, the results panel, errors and warnings support English and Japanese. The extension follows VS Code's display language: Japanese for Japanese, and English for other languages. Restart VS Code after changing its display language. Expression syntax and calculation results are the same in both languages.

For example, enter x=10 and then x*2 on the next line to calculate 20. See the Markdown example and standalone memo example above for content you can copy into a file.

Uninstalling the extension leaves your documents and settings in place. Operation on Windows, in VS Code for the Web, and in remote environments has not been verified.

Features

Supported features include complex numbers, rational decimal arithmetic, user-defined functions, parallel resistance calculations, and dB conversion functions. The Japanese sections below describe the available functions, their reference values, and known limitations.

License and warranty

The project's own implementation and documentation are provided under the MIT License. See the full MIT License below. Third-party code, materials, and reference documents remain subject to their respective terms. The extension includes third-party license notices and does not include the original iMemo reference materials.

The software is provided as is, without warranty. Accuracy of calculation results and fitness for a particular purpose are not guaranteed. The full MIT License governs the warranty disclaimer and limitation of liability. Questions about iMemo+ should be directed to its publisher.

固定dB関数

関数 動作 例
AdB10(z)/AdB1(z) 10^(Re(z)/10) AdB10(20) → 100
AdB20(z)/AdB2(z) 10^(Re(z)/20) AdB20(20) → 10
dB1(z)/dB2(z) 既存dB10(z)/dB20(z)の別名 dB1(100) → 20、dB2(10) → 20

引数は1個必要で、名前の大文字小文字は区別しません。逆換算は複素数の実部だけを使い、Rad/Degの設定に依存しない実数の近似結果を返します。AdB20(20+7i)も10です。

非有限になる値は行エラー、倍精度で0へアンダーフローする結果は0になります。原版配布版6.5との実測比較は未実施です。モード依存dB/AdBとdBリテラルには対応していません。

50Ω基準dBm換算

関数 動作 例
dBm(z) 電圧[V]の複素絶対値を50Ω・1mW基準で換算 dBm(1V) ≈ 13.0103
AdBm(z) dBm値の実部を電圧[V]へ逆換算 AdBm(0) ≈ 0.223607

基準電圧は√0.05 V、順換算は20*Log10(Abs(z)/sqrt(50e-3))、逆換算は10^(Re(z)/20)*sqrt(50e-3)です。引数は1個、名前の大文字小文字を区別せず、Rad/Degから独立します。dBm(3+4i)は5Vの換算値、AdBm(20+1e400i)は実部だけを使い約2.23607Vを返します。

結果と中間演算は倍精度です。dBm(0)・dBm(1e308)・AdBm(6180)は行エラー、AdBm(-7000)はアンダーフローで0となります。同名ユーザー関数は組み込み関数より優先され、ブロックごとに独立します。原版の空引数補完・80bit精度は再現せず、原版配布版6.5との実測比較は未実施です。

1µV基準dBu換算

関数 動作 例
dBu(z) 電圧[V]の複素絶対値を1µV基準で換算 dBu(1uV) → 0、dBu(1V) → 120
AdBu(z) dBu値の実部を電圧[V]へ逆換算 AdBu(0) → 0.000001、AdBu(20) → 0.00001

順換算は20*Log10(Abs(z)/1e-6)、逆換算は10^(Re(z)/20)*1e-6です。原版ヘルプの説明文にある1mVと式の差について、公開ソースと例に一致する1µV基準を採用しています。引数は1個、大文字小文字を区別せず、角度設定に依存しません。dBu(3+4i)は5Vの換算値、AdBu(20+1e400i)は実部だけから10µVを返します。

結果と中間演算は倍精度です。dBu(0)・dBu(1e308)・AdBu(6180)は行エラー、AdBu(-6380)はアンダーフローで0となります。同名ユーザー関数優先・ブロック独立性に対応しています。原版の空引数補完・80bit精度・dBuリテラルは再現せず、原版配布版との実測比較は未実施です。

抵抗系関数

関数 動作 例
zR(z)/AzR(z) 入力の実部を実数の近似値として返す zR(50+7i) → 50
yR(z)/AyR(z) 入力の実部の逆数を返す AyR(50+7i) → 0.02

抵抗[Ω]とアドミタンス[S]の計算に使います。引数は1個、名前の大小文字は区別せず、角度設定に依存しません。虚部は使用しないため、AzR(50+1e400i)も50です。同名ユーザー関数は組み込みより優先し、各ブロックで独立します。

結果は倍精度です。yR(0)・AyR(7i)はゼロ除算、実部の近似変換後に0となるyR(1e-400)もゼロ除算です。zR(1e400)や逆数が非有限になるyR(1e-309)は範囲エラー、zR(1e-400)は0になります。エラー行ではAnsと代入前の値を保持します。公開ソースの式を採用した独立実装で、原版の80bit精度・空引数補完・巨大虚部の変換挙動は再現せず、原版との実測比較は未実施です。

ライセンス・免責

iMemo+の独自実装・独自に作成した資料はMIT Licenseで提供します。MIT全文をこのページの末尾に掲載しています。著作権表示はCopyright (c) 2026 tkworksです。商用利用・改変・再配布が可能で、コピーまたは主要部分の配布時には著作権表示とMIT本文を含めてください。拡張機能にも同じ全文を同梱します。

本ソフトウェアは現状のまま無保証で提供します。計算結果の正確性や特定の目的への適合性を保証しません。利用に伴う損害について、適用法令で認められる範囲で、作者・著作権者は責任を負いません。この日本語説明はMIT本文の要約です。

原版の参照資料、第三者に権利があるコード・引用・素材はiMemo+のMIT許諾の対象外です。各権利者の個別条件に従ってください。同梱する外部ライブラリの著作権・ライセンス全文は、拡張機能に同梱する第三者ライセンス文書へ記録しています。原版参照資料は同梱しません。原版iMemoの著作権は桝岡秀昭氏に帰属し、iMemo+に関する問い合わせはiMemo+の提供元へお願いします。

MIT License

MIT License

Copyright (c) 2026 tkworks

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft