問題タブ [ensime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scala ライブラリの Ensime 構成
これは私が実行しようとしているコードです:
emacs の 1 行目に赤いバーが表示されます。これは、インポートされたライブラリが見つからなかったことを示す ensime だと思います。jar を認識させるにはどうすればよいですか? 私はjarファイルへのパスを追加しようとしまし:compile-deps
た:runtime-deps
が.ensime
、成功しませんでした。
ensime 0.1.1 と共に emacs-snapshot-gtk (v24.3.50.1) を使用しています。
これは私build.sbt
のプロジェクトのルートに配置された私のものです:
scala - emacs での Scala 開発用 Ensime のインストール: sbt.ResolveException: 未解決の依存関係: org.ensime#ensime-sbtt-cmd;0.12: 見つかりません
私は行を配置しました:
私の中に~/.sbt/0.13/plugins/plugins.sbt
しかし、sbt
プロジェクトのルート ディレクトリ内で実行しようとすると、次のようになります。
VERSION 番号が間違っていると推測していたので、 、 、に置き換え"0.12"
てみましたが、同様の結果が得られます。"0.13"
"0.12-SNAPSHOT"
私の目標は、with を使用ensime
しemacs
て Scala コードを編集することです。私は何が欠けていますか?
scala - 変更された scala クラスを SBT REPL に自動リロードする方法
私は Scala を初めて使用し、Scala 開発に emacs + ensime + sbt セットアップを使用することに慣れていません。
このセットアップは非常に素晴らしく軽いですが、私を夢中にさせることが 1 つあります。それは、sbt から開始された Scala コンソールに変更を自動コンパイル/リロードできないことです。
console
私は REPL を頻繁に使用しており、コマンドを使用して sbt から REPL を開始し、変更を行うたびにそれを閉じてリロードすることなく、REPL から scala クラスへの変更をテストできるようにしたいと考えています。
私はErlang環境から来ており、この開発方法はErlangでは簡単ですが、SBTでは難しいようです。JRebel プラグインをインストールしましたが、説明した状況では機能していないようです。
誰かが同様の作業を行うことができ、設定手順を喜んで共有しますか?
事前に大歓迎です。
java - Java プロセスが予想よりも多くのメモリを使用する理由
システム情報
OS: アーチリナックス
JDK: OpenJDK (IcedTea 2.4.3) (ArchLinux ビルド 7.u45_2.4.3-1-x86_64)
私のJavaオプション:
Linux の top コマンドは、6.8G * 19.5% = 1.326GB を使用していることを示しています。
Natvie メモリ トラッキングは、713MB を使用していることを示しています
そう。実際の物理メモリ使用量はどれですか?1.3GB メモリを使用する場合、余分な 600 MB 以上の物理メモリはどこに行くのでしょうか?
トップアウトプット
ネイティブ メモリ トラッキング出力 (jcmd VM.native_memory 詳細)
scala - ENSIME は、Scala プロジェクトのコンパイル時に警告を表示したり、エラーを表示したりしません。
私は基本的な Scala プロジェクトのセットアップを持っています。私は ENSIME で Emacs を使用していますが、これまでのところ hello world プログラムを動作させることができました。問題:ビルドが完了しなかった場合、ENSIME は何も教えてくれません。常に実行C-c C-b bすると、次のようなウィンドウが表示されます
最新のコンパイル結果: 0 エラー、0 警告
コンパイルにまったく失敗した場合でも。これは、次の場合に当てはまります。
- 構文エラーがあります
- ターゲット ビルド ディレクトリが存在しないため、
.class
ファイルが生成されない - あらゆる種類の依存関係の問題、または誤った名前のファイル/何かがあります
何か問題が発生したときに ENSIME に知らせてもらうにはどうすればよいですか? 間違ってインストールしましたか?他のすべてが機能し、プロジェクトが正しい場合は正常にビルドされます。
さらに、それが意図したものではない場合、何をエラーとして解釈しますか?
scala - Ensime でビルドすると、すべての .class ファイルが削除されますが、何もコンパイルされません。
Emacs、Ensime、SBT、および Scala が適切に連携するようにセットアップしたと確信しています。ファイルを編集して、保存時に型エラーを確認でき、enime の自動リファクタリング ツールの使用に成功しました。
問題は、プロジェクトをビルドしようとするときです。エラーがあるかどうかに関係なく、押すと次のC-c C-b b
出力が得られます。
その後、REPL が何もロードしていないことに気付き、この質問sbt compile
をするようになりましたが、コマンド ラインから呼び出してプロジェクトをビルドすると、プロジェクトをビルドでき、REPL を使用しても問題ないことがわかりました。
また、プロジェクトのビルドに成功した後、プロジェクトでsbt compile
作業して「インクリメンタル ビルド」( C-c C-b r
) を呼び出そうとすると、次のようになることもわかりました。
ミニバッファに。これは*inferior-ensime-server*
バッファに表示されたものです:
を使用して完全なビルドを実行しようとするとC-c C-b b
、元のバッファーにエラーや警告が表示されず (そうであるかどうかに関係なく)、元のクラス ディレクトリが削除されることがわかります。
なぜこれが起こっているのですか?また、プロジェクトを取得C-c C-b b
しC-c C-b r
て正しくビルドするにはどうすればよいですか?
編集:
インストールしたディレクトリ内でクラスファイルが生成されているようですがensime
、これは私にはかなり奇妙に思えます...
編集2:
*Messages*
起動時に以下を取得しています。これが関連しているかどうかはわかりません:
scala - Emacs --no-window で Ensime グローバル検索を使用するときに、ENTER を選択したタイプまたはメソッドに移動させるにはどうすればよいですか?
Ensime 2.10.0-0.9.8.9 を emacs 23.4.1 で使用しており、gnome ターミナル (v3.6.1) で --no-window パラメータを指定して emacs を使用しています。グローバル検索コマンド Cc Cv v を使用して自分のプロジェクトで scala 型またはメソッドを検索しようとしてから、選択した項目に移動するために ENTER を押しても検索されず、ensime-searchバッファーに新しい行が入力されるだけです。
問題は、通常のemacs(--no-windowなし)で同じことをしようとすると、すべてうまくいくということです...
--no-window でも動作させる方法を誰かが知っていますか?
PS: 答えないでください: 「--no-window なしで emacs を使用してください」... :)
scala - Maven を使用して確立された Scala プロジェクトで ENSIME を使用する
このプロジェクトをハッキングして、emacs/ENSIME を使用して開発環境をセットアップすることを検討しています。ただし、このプロジェクトでは Maven を使用し、トップレベルと 3 つのコンポーネント サブプロジェクト (format、cli、core) 内に pom を使用します。
起動して実行するために .ensime 構成で何をする必要があるのか わかりません(デフォルト構成では明らかにそれがうまくいかず、さまざまな ensime-maven-cfg スクリプトを取得できないため)動作することがわかりました)。
Maven + ENSIME に関して私が見つけた最新の情報は、1 年前のものです。提供されたスクリプトは機能しません。
Maven と ENSIME をうまく使い分けている人がいるに違いない…と願っています。ENIME 構成を設定するにはどうすればよいですか?
編集: :source-roots リストを .ensime 構成ファイルに設定するだけで、ほとんどが機能しました。(上記のリンクに似たハッキングされたPythonスクリプトを介して)depを追加しても、ビルドには役立たないようですが、Scala REPLがすべてのdepを適切にロードするようになりました。セマンティクスの強調表示とその他のいくつかはまだうまく機能していませんが、定義にジャンプして型インスペクターを使用できます。
全体として、完全に機能することにはるかに近づいています。