タグ

vscodeに関するiga_kのブックマーク (32)

  • vscode-ruby-light開発日記 - Prismパーサー導入編

    vscode-ruby-lightの開発中に考えたことを書いていきます。今回は、内部で利用しているRuby用パーサーのtree-sitter-rubyからPrismへの移行について書きます。 @ruby/prismパッケージの概観 Prismは、JavaScriptからもその実装を利用できるよう、@ruby/prismという名前でnpmパッケージを公開しています。 何が含まれているパッケージなのかというと、まずWASMバイナリという形でコンパイルされたPrismの実装と、それを便利に使うためのJavaScriptの実装、それからTypeScript向けの型定義ファイルが含まれています。これらはESModuleという形式に従ってモジュール化されています。またruby/prismのリポジトリ内に、JavaScript向けの簡単なドキュメントも含まれています。 もちろん、拡張でもこのnpmパッ

  • Language Server Protocol に対応したミニ言語処理系を作る

    自作プログラミング言語でコード補完やタグジャンプをしたり、ソースコードに色をつけたりする。

    Language Server Protocol に対応したミニ言語処理系を作る
    iga_k
    iga_k 2023/07/28
    参考になる
  • エディタの裏からプログラマを操る†闇の技術† LSP - Qiita

    あらゆる言語を使いこなす存在、テキストエディタ 最近EmacsよりもVSCodeの使用頻度が増えてきていて切なさを感じているソフトウェアエンジニアです。 コーディング業務でとてもお世話になっているのがテキストエディタですね。時には優しく時には厳しく叱責してくれる。理想の先輩の様な存在がテキストエディタです (トゥンク)。 どんな言語でも詳しいし何でも知ってて凄いなーと思っていたのですが、どうやらこの機能、テキストエディタのものではない様です。 エディタは言語ごとのサーバとやりとりしている 最近のエディタは言語ごとに解析機能を提供しているサーバとやりとりしていて、これをLanguage Serverというようです。 例えばGo言語で作業している時、裏側ではgolspと呼ばれるサーバが走っていて、エディタは作業で発生するイベントごとにこのサーバとやりとりを行い解析結果を画面上に表示しています。

    エディタの裏からプログラマを操る†闇の技術† LSP - Qiita
  • Visual Studio Code User Interface

    Register now for a full day of community, learning, and all things Visual Studio Code At its heart, Visual Studio Code is a code editor. Like many other code editors, VS Code adopts a common user interface and layout of an explorer on the left, showing all of the files and folders you have access to, and an editor on the right, showing the content of the files you have opened. Basic Layout VS Code

    Visual Studio Code User Interface
    iga_k
    iga_k 2023/07/28
    VSCode UI
  • GitHub - tennashi/lsp_spec_ja: LSP 仕様の日本語訳

    Language Server Protocol Specification - 3.15 以下の文書は Language Server Protocol Specification - 3.15 の日語訳である。 Base Protocol ベースプロトコルはヘッダ部とコンテント部で構成される(HTTP と似ている)。ヘッダ部 とコンテント部は \r\n で分割される。 Header Part ヘッダ部はヘッダフィールドで構成される。それぞれのヘッダフィールドは : (コロ ンとスペース) で分割された名前と値で構成される。それぞれのヘッダフィールドは \r\n で終了する。最後のヘッダフィールドとヘッダ全体はそれぞれ \r\n で終了す ることと、少なくとも1つのヘッダが必須であることを踏まえると、常にメッセージのコ ンテント部の直前には2つの \r\n があることになる。 現在次の

    GitHub - tennashi/lsp_spec_ja: LSP 仕様の日本語訳
  • Language Server Protocolを用いたVSCode拡張機能開発 (前編) | フューチャー技術ブログ

    はじめにこんにちは、Futureでアルバイトをしている川渕です。アルバイトの前はFutureのインターンシップでRustSQLフォーマッタの作成を行っていました(その時の記事はこちら)。現在はそのSQLフォーマッタをVSCode拡張機能にする作業を行っており、そのための方法を学んでいます。 記事ではLanguage Server Protocol(以下LSP)を用いたVSCode拡張機能開発について説明します。 前編ではLSPを用いたVSCode拡張機能開発チュートリアルと、チュートリアルに使用したサンプルコードの解説を行います。 後編ではサンプルコードに機能を追加する方法を説明します。 Language ServerとはLanguage Serverとは、自動補完、エラーチェック、型チェックなどの様々な言語機能をIDEに提供するものです。 Language Server Prot

    Language Server Protocolを用いたVSCode拡張機能開発 (前編) | フューチャー技術ブログ
  • GitHub - ruby/vscode-typeprof

  • Running Visual Studio Code on macOS

    Version 1.84 is now available! Read about the new features and fixes from October. Installation Download Visual Studio Code for macOS. Open the browser's download list and locate the downloaded app or archive. If archive, extract the archive contents. Use double-click for some browsers or select the 'magnifying glass' icon with Safari. Drag Visual Studio Code.app to the Applications folder, making

    Running Visual Studio Code on macOS
    iga_k
    iga_k 2023/04/25
    VSCodeでコマンドパレット(Cmd+Shift+P)を開き、 code コマンドを PATHコマンドにインストール
  • Ruby with Visual Studio Code

    Version 1.88 is now available! Read about the new features and fixes from March. Ruby in Visual Studio Code Ruby is a dynamic, open-source programming language known for its simplicity and productivity. With an expressive and elegant syntax, part of the Ruby philosophy is to make developers happy. It is often used for web development with a range of different frameworks, and for scripting, allowin

    Ruby with Visual Studio Code
  • VSCodeでDockerを使ったRailsを開発しよう~Ruby3.1以降 Debug編~

    開発者のマシンで開発環境を構築する際にDocker及びDocker composeを使って開発することが一般的になりました。いままではターミナルからdocker composeコマンドを実行してテストや動作確認をしていましたが、VS CodeのDev Containers拡張を使いよりVS Codeで便利に開発する方法を提案します。 今回はRuby3.1のdebug.gemを使ったRailsプロジェクトで、VS Codeのデバッグ機能をDev Containersと一緒に使う方法を紹介します。 VSCodeDockerを使ってRailsを開発しよう~Dev Containers編~開発者のマシンで開発環境を構築する際にDocker及びDocker composeを使って開発することが一般的になりました。ターミナルからdocker composeコマンドを実行してテストや動作確認するのがセ

    VSCodeでDockerを使ったRailsを開発しよう~Ruby3.1以降 Debug編~
  • Railsチュートリアルのsample_appに型を導入

    ふーが といいます。普段は Ruby on Rails を利用したアプリケーション開発をしているプログラマです。 この記事は Rails アプリケーションへの型導入を試してもらうことを目的とした記事です。主に Ruby on Rails チュートリアル (以下「Rails チュートリアル」と呼称)で学ばれた方向けに「静的型とはなにか」「Ruby での型の扱い」「Rails アプリケーションへの型導入方法」を知っていただくきっかけになればうれしく思います。 この記事では実際に手を動かしながら Rails アプリケーションに型を導入する手順を体験できます。題材として Rails チュートリアルの sample_app を使用させていただいています。 前提 型を導入するにあたり前提となる部分を簡単にご紹介します。「型」と聞いてイメージがつく方はこの段落は飛ばしていただいてかまいません。 型とは何

    Railsチュートリアルのsample_appに型を導入
    iga_k
    iga_k 2023/03/17
    RBS導入時に便利なVSCode拡張
  • RubyKaigiの復習 LSP|shshimamo

    先日久しぶりに RubyKaigi に参加してきました。やっぱりオフラインはいいですね。noteはブースを出させてもらったので社外の方ともたくさん交流でき楽しかったです。 イベント参加レポートを書くのは苦手なので..理解できなかったものや、詳しく知らなかったものを復習して記事にしていこうと思います。 とりあえず第一弾は LSP について。 Matz のキーノート で Solargraph が、Shopify さんの syntax tree の発表で ruby-lsp が触れられていました。 (LSP については Microsoft のドキュメントをご参照ください) 私は Rubymine を使っているので あまり意識してこなかったのですが、今後ますます便利になりそうなので仕組みを理解しておきたいと思い Solargraph の中身を軽く見てました。 以下は Microsoft のドキュメン

    RubyKaigiの復習 LSP|shshimamo
    iga_k
    iga_k 2023/03/14
    Solargraphの解説
  • vscode-rdbg(debug.gem)でのRubyデバッグが便利すぎる - $shibayu36->blog;

    最近Rubyを学び直したり、アルゴリズムの基礎練をしたりしているのだが、debug.gemおよびvscode-rdbgが便利すぎるので紹介。 debug.gemvscode-rdbgとは debug.gem( https://github.com/ruby/debug )とは最近のRubyのモダンなdebugger。これまでlib/debug.rbやbyebug、debaseなどがあったが、それらのいくつかの課題を解決したdebuggerとなっている。Ruby 3.1 の debug.gem を自慢したい - クックパッド開発者ブログ に背景や基的な使い方が詳しく載っている。 またRubyKaigi 2022ruby/debug - The best investment for your productivity - RubyKaigi 2022でも紹介された。Scriptable

    vscode-rdbg(debug.gem)でのRubyデバッグが便利すぎる - $shibayu36->blog;
  • リモート接続可能な自宅開発サーバーを簡単に実現できるTailscale - masa寿司の日記

    これまでブログではVScode Remote extensionsを前提にしてHyper-VやWSL2などのVMに接続する方法や、VSCode workspacesを利用して外部サーバーや自宅に設置したサーバーに接続する方法を紹介してきました。 この中でウェブサービス開発する上で最も効率が良い開発環境はLinux入れた開発専用マシンを自宅において、そこにVScode Remoteを使って接続するという方法でした。そりゃ実ハードウェア上で動くのだから速いに決まってます。ですが、自宅にサーバーを設置して外部から接続出来るようにするのはセキュリティ面等を考えると手間がかかる、という理由で自宅外からの接続ではCodespacesの利用を検討していたんですね。 Tailscaleという福音 そんな中、ちょうどVS Codespacesの記事を公開したあたりでTLに流れてきたツイートから以下の記事を

    リモート接続可能な自宅開発サーバーを簡単に実現できるTailscale - masa寿司の日記
  • masa寿司の日記

    長期休暇などでコードフリーズするときにデフォルトブランチへのマージを防ぐ方法ってないのかなと以前から気になっていたのです 調べて見たところ、以下のスレッドが見つかりました。 github.com Branch Protection にある Lock branch という機能で対象ブランチに対する一切の変更が防げるようです。 docs.github.com 手持ちの自由になるリポジトリで試して見たところ、マージ可能なPRがマージできなくなりました。一方で、管理者権限を持っているからなのか、もしくは他のbranch protectionのオプションでそうなっているのか、チェックボックスにチェックを入れればマージできるようです。 Lock branchでマージ出来ないPRの画面 障害や不具合による一時的なコードフリーズや年末年始などの長期コードフリーズに活用できそうです。ただし、臨時でマージが必

    masa寿司の日記
    iga_k
    iga_k 2023/01/24
    「Visual Studio Codespacesで自前のマシンを使うself-hostedという選択肢」
  • IDEにChatGPTを統合、「この関数のテストコードはどこ?」「XXXを実装するならどう書けばいい?」など、AIでコードと対話できる「qqbot」登場

    IDEにChatGPTを統合、「この関数のテストコードはどこ?」「XXXを実装するならどう書けばいい?」など、AIでコードと対話できる「qqbot」登場 テキストから高度なイラストを生成するAIや、人間と自然な対話を可能にするAIが最近話題になっています。 この人間と自然な会話をするAIチャットの代表的なサービスであるChatGPTの派生サービス(Variant of ChatGPT)をVisual Studio CodeなどのIDEに統合し、開発中のコードについて「この関数のテストコードはどこ?」などと対話できる「qqbot」が登場しました。 開発したのはDan Robinson氏。 Introducing qqbot, a variant of ChatGPT that lives in your IDE. The cool thing about qqbot is that it k

    IDEにChatGPTを統合、「この関数のテストコードはどこ?」「XXXを実装するならどう書けばいい?」など、AIでコードと対話できる「qqbot」登場
    iga_k
    iga_k 2023/01/11
    すごい!
  • Visual Studio Codeでショートカットキーを変更する方法

    変更したい項目をダブルクリックしすると、ショートカットキーの入力画面が表示されます。 ここでショートカットキーを入力してenterで設定完了です。 単にショートカットキーを削除したい場合はdeleteで削除できます。 ちなみに、すでに利用されているショートカットキーの場合は画面下にメッセージが表示されます。 キャンセルしたい場合は入力ボックス外をクリックするか、escでキャンセルして入力画面を閉じられます。 ショートカットキーの探し方コマンド名から探すVisual Studio Codeのショートカットキーは大量にあって、すべてが一覧に表示されてしまいます。 画面上に検索ボックスがあるので、そこから検索して探しましょう。 ショートカットキーから探す実際にショートカットキーから探したい場合は、検索ボックスの右にある「キーボード」アイコンをクリックします。 クリックしたあとにショートカットキー

    Visual Studio Codeでショートカットキーを変更する方法
    iga_k
    iga_k 2023/01/03
  • Visual Studio Codeで簡単にショートカットキーを変更する方法 - Qiita

    環境 Visual Studio Code: Version 1.20.1 OS: Mac OS High Sierra Version 10.13.2 言語設定: OS, VSCode 共に English 記事内で説明しているショートカットはMacのものなので、他OSの方は適宜読み替えてください。 ※2018年2月18日時点のVersion 1.20.1の内容なので、ショートカットや画面は現在とは変わっている可能性があります。 やり方 shift+cmd+p でコマンドパレットを開く。key と打って表示される Preferences: Open Keyboard Shortcuts を選択してキーバインド一覧(というよりアクション一覧?)を表示。 cmd+k cmd+s (cmd+k 入力した後に cmd+s) でも表示されます。 キーバインドを変更または追加したいアクションを検索し

    Visual Studio Codeで簡単にショートカットキーを変更する方法 - Qiita
    iga_k
    iga_k 2023/01/03
  • Ruby用VSCode拡張: vscode-ruby-light

    Ruby向けに、vscode-ruby-lightというVSCode拡張をつくっています。この拡張は、利用者に特にRubyのインストール要求することなく、シンタックスハイライトやカーソル操作など、VSCode標準の機能よりちょっと良い編集体験を提供しようという目的の拡張です。 最初は「メソッドやブロックをもう少し上手く選択できるようにしたい」というモチベーションで調べ始めたのですが、気付けば色々な機能を持つVSCode拡張が出来上がっていました。この記事では、幾つかの機能を紹介しながら、関連する話を書いていこうと思います。 Selection Range VSCodeにはExpand Selectionというコマンドがあり、選択範囲を拡大したり狭くしたりできます。このコマンドには、例えばWindowsであればデフォルトでShift + Alt + →にショートカットキーが割り当てられていま

    iga_k
    iga_k 2023/01/02
    rubocopも利用可能
  • debug.gem、VS Code Debug Visualizer を使ってデバッグ中のオブジェクトをビジュアライズしてみる

    概要 VS Code Debug Visualizer という VS Code のエクステンションをご存知でしょうか。デバッグ中のオブジェクトを以下のようにビジュアライズしてくれるものです。 VS Code Debug Visualizer ではこれまで Ruby のサポートはされていませんでしたが、最新バージョン(稿執筆時点ではバージョン2.4)より debug.gem を用いてのビジュアライズが可能になりました。 稿ではそれらの実際の使い方についてお話ししていきます。 対象読者 記事では VScode を用いた debug.gem の簡単な利用方法について理解していて、既にそれらのセットアップが完了している方を想定しています。 VScode を用いた debug.gem の使い方やセットアップ方法については以下のリンクなどをご覧ください。 事前準備 事前準備として VS Code

    debug.gem、VS Code Debug Visualizer を使ってデバッグ中のオブジェクトをビジュアライズしてみる
    iga_k
    iga_k 2022/12/27
    変数fooの遷移履歴をビジュアル表示できたりする。すごい。