拡張機能開発のプロジェクトを作る修正するコード実際に使うまとめ最近、VSCODEがとても気に入っています。プログラムを書くときも、テキストを書くときにも利用しています。ブログなどの記事を書くときには、文字数を意識しますので、文字数をカウントしてほしいのですが、ちょっと探してみた感じでは自力で作らないといけないようです。※英語のワードカウントであれば、MSのgithubにあります。仕方ないので、拡張機能の作り方を調べてみたら、割と簡単に作れそうでしたので、日本語想定の文字数をカウントする拡張機能を作ってみたいと思います。自作の拡張機能を作るための準備VSCODEの拡張機能を作るためには、「yo」「generator-code」というパッケージをインストールする必要があります。これは、npmコマンドで簡単にインストールできますので、下記のコマンド実行するだけでです。generator-code拡張機能開発のプロジェクトを作る拡張機能を作るためのプロジェクトもコマンド1発で生成できるようになっていますので、下記のコマンドを任意のディレクトリで実行すれば完了です。codeコマンドを実行すると、プロジェクトに関する情報を対話形式で聞いてきますので、任意の値を入力していけば、プロジェクトディレクトリが生成されます。.https://github.com/Microsoft/vscode-wordcount修正するコード英単語のカウントを行う関数がありますので、この部分を日本語の文字数カウントに修正します。このコードは、HUGOのマークダウンファイルを想定して、+++で囲まれているフロントマターは文字数をカウントしないようにしています。※これは好みで修正してください。“text"を追加すれば、文字数をカウントしたいファイルを増やしていけます。この判定自体を消せば、すべてのファイルで文字数がカウントされるようになります。this._statusBarItem.hide();}packege.jsonですが、activetionEventsのことろに*を入れるだけです。することで、ファイルを開いたときや、変更した時に文字数の再計算が実行されるので、便利です。過剰に動作していると感じたら、コマンド実行した時にどうさせるなど限定的にすればいいと思います。"*"],実際に使うデバッガーで走らせるのはF5を押せば動作しますが、実際の利用を想定して使用しているVSCODEに今回作成した拡張機能をインストールしてみたいと思います。そのためには、作成したtsファイルから、VSIXファイルを生成する必要があります。VSIXファイルを生成するためにはvsceと言うパッケージを使用します。下記のコマンドで、vsceをインストールすることができます。vsceインストールが完了したら、実際にVSIXファイルを生成するコマンドを実行します。実行するためには、拡張機能を作成したディレクトリに移動して下記のコマンドを実行します。package実行すると下記のようなエラーが発生することがあります。拡張機能のプロジェクトを作成した際に、defaultで生成されたREADME.mdのままだとエラーが出るようです。extension.私の場合は、一度、README.mdを削除して作り直してから実行するとコマンドが成功しました。下記のようなエラーが出ました。[y/N]package.jsonにリポジトリに関する記述を行っていないの原因だと思います。必要なければ、「y」を入力した後にエンターでVSIXファイルが生成されます。ここまでで、VSIXファイルを作ることが出来ましたので、実際にVSCODEへインストールしてみたいと思います。VSCODEを起動すると、サイドバーに拡張機能のアイコンがありますので、クリックします。サイドバーの内容が展開されたら「・・・」のところをクリックして、VSIXからのインストールを選びます。すると、ファイルを選択するダイアログが開きますので、先ほど作成したVSIXファイルを指定して「インストール」をクリックします。インストールが成功すると、「拡張機能が正常にインストールされました。有効にするには再起動します。」とメッセージが表示されるとともに、「今すぐ再度読み込む」ボタンが表示されますので、これをクリックします。これで、作成した拡張機能のインストールが完了しました。マークダウンファイルかテキストファイルを開くと、ステータスバーに「○○○○文字」と表示されるようになったと思います。まとめちょっと試せば、すぐに拡張機能が作れるようになると思います。TypeScriptは触ったことがないですが、JavaScriptみたいなものなので、食わず嫌いなら必要最低限だけでもコードを書いて、快適なVSCODE環境を作りましょう。返信、転送のときに元のメッセージを装飾する。INDIRECTを使って文字列からシートを参照する2017/09/07共有フォルダを無法地帯にしない管理方法2017/09/17apacheでのキャッシュ設定についてまとめ2018/05/24javaScript現在表示しているページをリロードする方法2018/03/22CrystalReportを使ったプログラムを開発していてcrdb_adoplus.dll関係でエラーが出た場合の対処方法2016/11/04これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。