Giter Site home page Giter Site logo

jonchan51 / vscode-beancount Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lencerf/vscode-beancount

0.0 0.0 0.0 522 KB

VSCode extension for Beancount

Home Page: https://marketplace.visualstudio.com/items?itemName=Lencerf.beancount

License: MIT License

JavaScript 3.52% Python 7.30% TypeScript 89.18%

vscode-beancount's Introduction

VSCode-Beancount

VSCode extension for the text-based double-entry accounting tool Beancount

version downloads installs rating license

Features

  1. Syntax highlight (syntax file from draug3n/sublime-beancount)
  2. Decimal point alignment
  3. Auto-completion of account names, payees, and narrations
  4. Auto balance checking after saving files
  5. Hovers with account balances.
  6. Code snippets (@vlamacko)
  7. Region folding - use indentation (#5), or special comments (#11). For org-mode style folding see vscode-org-fold
  8. (Experimental) Use Pinyin initial letters to input existing Chinese narrations and payees quickly. 使用拼音首字母快速输入现有的中文受款人和描述 。See details.

Extension Settings

This extension contributes the following settings:

  • beancount.separatorColumn: specify the column of the decimal separator.
  • beancount.instantAlignment: Set it to true to align the amount (like 1.00 BTC) once a decimal point is inserted.
  • beancount.completePayeeNarration: Controls whether the auto completion list should include payee and narration fields.
  • beancount.mainBeanFile: If you are splitting beancount files into multiple files, set this value to either the full path or the relative path to your main bean file so that this extension can get all account information. If it is left blank, the extension will consider the file in the current window as the main file.
  • beancount.runFavaOnActivate: If it is set to true, fava will run once this extension is activated.
  • beancount.favaPath: Specify the path of Fava if Fava is not installed in the main Python installation.
  • beancount.python3Path: Specify the path of Python if beancount is not installed in the main Python installation.
  • beancount.fixedCJKWidth: Set to true to treat CJK aka East Asian characters as two letters width on alignment.
  • beancount.inputMethods: List the input methods for auto-completion of payees and narrations with CJK characters. Currently only pinyin is supported. See details.

Recommended practices

  1. Make sure you installed Python3 and beancount. Set beancount.python3Path to the correct path.
  2. Split your ledger into several .bean files according to time and put all your open/close in a main file.
  3. Include all other files in the main file by the include command in the main bean file.
  4. Open BeanFolder with VSCode and set beancount.mainBeanFile to the full path of main.bean in the current Workspace Settings.

For example, the file structure of your directory looks like this

BeanFolder
├── .vscode
│   └── settings.json
├── main.bean
├── before2017.bean
├── 2017-01.bean
└── 2017-02.bean

If you open .vscode/settings.json, you should see something like this:

{
  "beancount.mainBeanFile": "main.bean"
}

Now once BeanFolder is opened as a workspace in VSCode, this extension will be able to invoke beancount to check errors and calculate balances.

Known Issues

see GitHub issue page

Release Notes

0.11.0

  • Allow syntax highlight in markdown @hotshotxwl
  • Support opening files from 'include' directive by adding DocumentLinkProvider @mengqi92
  • Add org-mode-fold to README.md @dumbPy
  • oneliner version syntx with file suffix .beancount.oneline or .bean.oneline. @Akuukis

0.10.0

0.9.1

  • "Input Method" Support on Account Name @zinc0x1E
  • Do not create fava terminal as default, fix #77

vscode-beancount's People

Contributors

lencerf avatar akuukis avatar dependabot[bot] avatar mengqi92 avatar seiarotg avatar lockjs avatar zinc0x1e avatar huruka avatar robotkid avatar mjec avatar mariosangiorgio avatar yukixz avatar pluwen avatar hotshotxwl avatar chylli-deriv avatar zacharylawrence avatar sevenkplus avatar whusnoopy avatar vlamacko avatar isometimescode avatar thomasdenh avatar dumbpy avatar nicolasp avatar jumoel avatar dcyoung05 avatar vizanto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.