2016-10-10 10 views
1

サブライムテキスト3の最初のプラグインを作成しようとしています。Pythonでサブテキストのビューポートサイズをどのように変更しますか?

ビューポートのサイズを設定するにはどうすればよいですか?私は通常、レイアウトを2つに分割します。フォーカスしたレイアウトのビューポートサイズを変更して、フォーカスを合わせたレイアウトでより多くのコンテンツを読み込むことができます。

viewport_extent()メソッドがviewのビューポートのサイズを取得できましたが、新しいサイズに設定する方法がわかりません。

+0

ビューポートサイズを設定して、何を達成したいですか?プラグインにはSTウィンドウやパネルのサイズを変更する機能はありませんが、複数の行や列グループが表示されているときにレイアウト分割を行うことができます。 'View-> Layout->メニューから「列:2」を選択する。 –

+0

はい、通常はレイアウトを2つに分割します。目的のレイアウトのビューポートサイズを変更することで、フォーカスを合わせたレイアウトでさらに多くのコンテンツを読むことができます。 –

+1

ビューポートサイズを直接設定できないため、 'window.get_layout()'を使って 'window.set_layout'と一緒に現在のレイアウトを取得して新しいレイアウトを設定し、アクティブなグループに大きなサイズ比を与えるために必要な引数を渡したいとします。 –

答えて

1

プラグインには、STウィンドウまたはパネルのサイズを変更する機能や、ビューポートのサイズを直接変更する機能はありませんが、複数の行または列グループが表示されている場合は、

window.set_layoutと一緒に現在のレイアウトを取得し、アクティブ/フォーカスグループに大きなサイズ比を与えるために必要な引数を渡して、新しいレイアウトを設定すると便利です。

単一ペインのレイアウトはget_layoutで次のようになります。

{'cells': [[0, 0, 1, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 1.0]} 

Anが均等に2列のレイアウトを分割するには、次のようになります。

{'cells': [[0, 0, 1, 1], [1, 0, 2, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 0.5, 1.0]} 

広い左の列には、次のようになります。

{'cells': [[0, 0, 1, 1], [1, 0, 2, 1]], 'rows': [0.0, 1.0], 'cols': [0.0, 0.75, 1.0]} 

を使用してアクティブなグループを特定できますを参照し、それに基づいて比率を設定する方法を決定します。


注:一部のAPI関数は、公式ドキュメントには表示されません。探査の目的で、STコンソールでdir(window)またはdir(view)を実行して、利用可能なプロパティとメソッドを確認すると便利です。

+0

私はあなたがすでに望んでいる機能を実現したと言った方法を使用します。あなたが私にそんなに教えてくれて本当に感謝しています。 –

関連する問題