QB64 Extension for Visual Studio Code.

Overview

QB64 for Visual Studio Code

A VSCode extension that adds support for QB64.

DISCLAIMER: This is very rough and still needs a lot of work.

Features

  • Utilize F1 to open help via the QB64 Wiki
  • CTRL+Click to follow (open) an Include file
  • F5 to Build & Run
  • Syntax highlighting for QB64 2.x
  • Code outline (CTRL+F2)
  • Code folding
  • Build Only
  • Highlights TODOs in the comments
  • Box around (_)rgb(32) commands the color of the command.
  • F12 to run the lint - this is expermental. Please report any issues.
  • Snippets
    • ifelse
    • ifthen
    • sub
    • func
    • type
    • for

Requirements

  • QB64 installed.
  • Latest vsix installed from here.

Get Started Writing QB64 with VS Code

Found a Bug?

Please utilize the Issues and file a new one.

Want to help build QB64 for VS Code?

License

The VS Code for QB64 extension is subject to these license terms. The source code to this extension is available on https://github.com/QB64Official/vscode and licensed under the MIT license.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the QB64 Code of Conduct.

Acknowledgments

Comments
  • .gitignore for .vscode

    .gitignore for .vscode

    I'm wondering if there is a way to detect if the source loaded is within a git context and, if so, either add to or create (prompting) the .gitignore to include .vscode folder - right now having to do that manually.

    enhancement 
    opened by DualBrain 11
  • Cannot find module '@vscode/debugadapter'

    Cannot find module '@vscode/debugadapter'

    Log statments. [2022-08-23 19:24:04.796] [exthost] [error] Activating extension LordDurus.qb64 failed due to an error: [2022-08-23 19:24:04.796] [exthost] [error] Error: Cannot find module '@vscode/debugadapter'

    bug 
    opened by LordDurus 3
  • Utilize local QB64 help (markdown) when available.

    Utilize local QB64 help (markdown) when available.

    QB64 will be migrating from .txt files to .md files for local help. These files will be named the same as they are on the wiki (as they will literally duplicated from the wiki). So would like to see the option of being able to open these within VSCode (F1). Additionally, would like to have the option, defaulting to enabled (view), for opening in either "view" mode or "edit" mode. I also think that the path should default to these files (under the QB64) folder - but, we should also have the ability to override this path so that, for those that are contributing to the wiki, can point it to a local repo of the actual wiki instead of the files in the QB64 folder.

    documentation 
    opened by DualBrain 2
  • F1 currently requires that you highlight the word...

    F1 currently requires that you highlight the word...

    ... would be nice if it could determine the word that the cursor currently resides and utilize that word when launching help. Primary reason is as one is typing, navigating with cursor keys, etc. it feels more natural (to me, suspect others) to simply be able to press F1 to go to help instead of having to highlight the word first before doing so.

    enhancement 
    opened by DualBrain 2
  • Write lint output to the termianl window

    Write lint output to the termianl window

    Write the lint output to the terminal window (leave it in the lint output window as well)

    There will be a setting to control this: isLintToTerminalEnabled

    enhancement 
    opened by LordDurus 1
  • Opening include containing a subfolder fails.

    Opening include containing a subfolder fails.

    It appears that the path seen (verified) is working, but when it is being combined in order to open the target file the root path is defaulting to the path used to open VSCode instead of the path of the opened .BAS file.

    c:\bas <- launched VSCode c:\bas\qbint <- opened file in this folder c:\bas\qbint\includes <- include file is in this folder

    bug 
    opened by DualBrain 1
  • Issue with working path for nested folders

    Issue with working path for nested folders

    I'm going to try to walk through this using the https://github.com/DualBrain/QuickPakPro/ project.

    The folder structure of the project is setup such that the README.md and other "high level" stuff is in the root of the folder. The majority of the source code is located in a QB64 folder (this could easily be called something like SOURCE, but I have my reason(s)).

    When I have this on my machine, I typically use GitHub Desktop to jump between different projects and it contains a nice feature "Open in Visual Studio Code". Doing so, it will open the root of this project folder in VSCode and this is where (I believe) the problem roots itself.

    Inside of the QB64 folder, I then find my sample that I wish to work with. I then press F5... the problem though is that there is then a difference between what the sample executing sees as the current working folder versus if I launch the compiled executable outside of VSCode. What I mean is that the compiled executable is located in the same folder as the .BAS file... this is the desired result. However, if VSCode launches the compiled executable (as part of the F5 process), the executable things the starting folder is the root of the project... not the same folder as where the executable is. If, however, I was to double click on the executable in Windows... things are working as expected.

    One key point here is that I am using CHDIR _STARTDIR$ in my code to "reset" the current "working" folder used by the file functionality to be the location specified as the start folder.

    In my mind, this start folder should be the location of the executable (by default), not the root of the project.

    opened by DualBrain 3
  • 0.8.0 VSIX - CTRL+Move mouse doing *weird things*.

    0.8.0 VSIX - CTRL+Move mouse doing *weird things*.

    Hover over a + 1 and you get a "The editor could not be opened due to an unexpected error: File is a directory" in an empty tab and an OK "button".

    I'm encountering this because I'm using CTRL+C/CTRL+V/CTRL+X operations while highlighting things with a mouse and it started popping up a lot; I then took a moment to narrow it down to the most minimal repro I could find. CTRL+move mouse (hover?).

    I did disable "Qb64: Is Hover Text File Enabled" and am still getting this happening (meaning, no difference in behavior).

    opened by DualBrain 3
Owner
QB64 Official
QB64 Official
A Visual Studio Code extension to help working with test files.

spec-utils This extension adds a set of commands to aid the work with test files. Suport Javascript / Typescript files: Jest, Cypress and mocha identi

Douglas Rocha 6 Aug 22, 2022
Visual Studio Code extension for supporting jaksel-language

jaksel-language-support for Visual Studio Code Visual Studio Code extension for supporting jaksel-language coding experience. Features Syntax Highligh

Ngupuk 6 Oct 23, 2022
Fully featured clean-css plugin for Visual Studio Code

vscode-clean-css Fully featured clean-css plugin for Visual Studio Code. Install Execute Extensions: Install Extensions command from Command Palette (

Shogo Sensui 2 Nov 9, 2021
official Alibaba Design system vue components snippets for visual studio code

Alibaba DLS Snippets for vscode Installation You can either install this extension by searching for Alibaba DLS Snippets in your vscode extensions sto

Alibaba Travels Co Open Source 2 Sep 25, 2021
Hands-on lab for Power Platform Tools for Visual Studio Code

Power Platform Tools for Visual Studio Code Lab This repository contains the lab instructions and content on how to experience the Power Platform Tool

Microsoft 8 Dec 1, 2022
Visually manage your ZooKeeper in Visual Studio Code.

Visual ZooKeeper Visually manage your ZooKeeper in Visual Studio Code. Features ?? Edit and view data on ZooKeeper using the perfect VSCode's editor.

Gao Liang 4 Sep 5, 2022
Cross platform terminal app from Visual Studio Code.

CodeTerminal Standalone terminal from Visual Studio Code. Installation macOS Highly recommanded to install with homebrew. brew tap xcodebuild/custom b

xcodebuild 673 Dec 21, 2022
A Mail client embedded in Visual Studio Code.

VSCode Mail Client A Mail client embedded in Visual Studio Code Features Support IMAP and SMTP protocol. Gmail.com vendor test pass. 126.com vendor te

buhe 14 Nov 8, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Snippets4Dummies is an easy to use Visual Code Extension which is used for building beautiful layouts as fast as your crush rejects you!

Why Snippets4Dummies? Snippets4Dummies is an easy to use Visual Code Extension which is used for building beautiful layouts as fast as your crush reje

SCHWITZ 6 Oct 11, 2022
A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

Warm Up ?? ??‍?? A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snipp

Arhun Saday 34 Dec 12, 2022
Chrome extension for granular visual control over Notion.so

Notion Style Tweaks (Beta) A Chrome extension aiming to give granular control over the visual experience of Notion. Written in Svelte. Installation Ch

Eli 47 Dec 25, 2022
Simple shopping cart prototype which shows how React components and Redux can be used to build a friendly user experience with instant visual updates and scalable code in e-commerce applications.

This simple shopping cart prototype shows how React components and Redux can be used to build a friendly user experience with instant visual updates a

Ivan Kuznietsov 3 Feb 8, 2022
A multi-tag input for sanity studio.

sanity-plugin-tags A multi-tag input for sanity studio. Fully featured with autocomplete capabilities, live updates, predefined tag options, style and

P Christopher Bowers 7 Jul 22, 2022
A Cypress plugin that generates test scripts from your interactions, a replacement Cypress Studio for Cypress v10 🖱 ⌨

DeploySentinel Cypress Recorder Plugin Create Cypress tests scripts within the Cypress test browser by simply interacting with your application, simil

DeploySentinel 13 Dec 15, 2022
Aniso is an open-source ASCII tool built by Studio Freight to generate and customize character-based imagery.

Aniso Aniso is an open-source ASCII tool built by Studio Freight to generate and customize character-based imagery. Features Granularity control Chara

Studio Freight Darkroom 10 Dec 16, 2022
nextjs + sanity studio v3 = 💖

Sanity.io and Next.js [main image placeholder] Sanity.io is the platform for structured content. With Sanity.io you can use the open-source, single pa

Sanity 100 Dec 26, 2022